inflearn logo
강의

Course

Instructor

Data Structures and Algorithms Made Easy with Diagrams (Basics)

Deck - Concepts and Implementation

스택과 큐의 필요성

Resolved

754

ref63184917

23 asked

1

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

알고리즘 algorithm

Answer 1

1

gamja5

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

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

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

0

ref63184917

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

1

gamja5

멋진 생각입니다! ㅎㅎ

큐의 마지막 데이터가 head에 위치해야 하는 이유가 궁금합니다.

0

71

2

이중연결 리스트 데이터 삭제시 질문이 있습니다.

1

60

2

자바스크립트 배열은 동적이 아닌가요?

1

85

2

자바스크립트 배열

0

75

2

코테에서 링크리스트 자료구조를 사용해야 하면, 이번 강의에서 구현한 메서드들도 모두 직접 구현하면 되나요?/

0

148

2

공부 방식 질문 드립니다.

1

115

2

메모이제이션과 타뷸레이션 관련해서 질문드립니다.

1

166

2

병합정렬에서 질문이 있습니다.

2

140

1

병합정렬 질문 있습니다.

1

136

5

데이터 삽입, 삭제 함수 오류 범위 설정

0

156

2

해시 테이블에서 질문이 잇습니다.

2

126

2

시간복잡도 계산 시 1회 연산당 연산량은 왜 고려하지 않는 건가요?

1

146

2

터미널 설정

0

112

2

2:13분 관련 질문입니다

0

89

1

8:47초경부터 9:00초까지 질문입니다.

1

132

2

tail을 삭제하는 경우에 관련해서 질문이 있습니다.

0

106

1

2:36초 head 위치가?

1

108

2

환경구축강의 중 터미널 파일 실행오류

0

159

2

4:58 이중for문 질문있습니다.

0

103

1

hanoi함수 처음 호출에 대해서 여쭤봅니다.

1

127

2

해쉬테이블 데이터 관련해서 질문있습니다.

0

145

2

자바스크립트 Map과 어떤 차이가 있나요??

0

201

2

질문이있습니다.

0

101

1

2번째 복습 스터디📖 를 진행하고 스터디원분들과 나눈 질문들 입니다.(자료구조와 알고리즘)

1

144

2