인프런 커뮤니티 질문&답변

내향적인 개발자 IDev님의 프로필 이미지
내향적인 개발자 IDev

작성한 질문수

그림으로 쉽게 배우는 자료구조와 알고리즘 (기본편)

덱 - 개념과 구현

스택과 큐의 필요성

해결된 질문

작성

·

681

1

스택은 FIFO 큐는 LIFO 구조인데 이 두개를 합친게 덱같네요. 이렇게되면 스택과 큐의 자료구조의 필요성이 잘 느껴지지 않습니다. 덱이 성능이 나쁘게 아니고 연결리스트 덕분에 삽입 제거가 O(1)의 성능이 나오는데 이렇게되면 굳이 스택과 큐를 써야하나싶은데 스택, 큐, 덱이 성능상의 차이점이 있을까요?

답변 1

1

감자님의 프로필 이미지
감자
지식공유자

성능의 차이는 없습니다.
덱으로 스택, 큐를 모두 사용할 수 있으므로 덱만 이용하셔도 됩니다.

다만 협업에서 덱을 스택으로 쓰신다면 스택을 이용할 때보다 가독성은 조금 더 안 좋아지겠죠?애초에 스택으로만 이용한다면 스택으로 선언했다면 동료가 스택이라고 충분히 인지할 테지만 힙이면 경우의 수를 조금 생각하면서 코드를 이해해야 할 테니깐요 ㅎㅎ

필요에 따라서 적절한 것을 선택하면 될 것 같습니다 😉

오 만약에 스택과 큐를 둘다 사용해야하는 상황이라면 따로 따로 구현할 필요없이 덱을 사용하지만 둘중 하나만 필요한 상황이라면 가독성과 직관적으로 하나를 사용하면되겠군요 ㅎㅎ 역시 일반화를해서 생각하면 안되겠군요 2번 3번 더 생각해서 적절하게 딱 맞는 자료구조를 써서하는게 팀웍적으로도 더 좋아지니깐요.

감자님의 프로필 이미지
감자
지식공유자

멋진 생각입니다! ㅎㅎ

내향적인 개발자 IDev님의 프로필 이미지
내향적인 개발자 IDev

작성한 질문수

질문하기