Community

안녕하세요, 저도 대학교 학부생으로서 자료구조에 대해 배우고 있는 학생입니다. 저도 잘은 모르지만 제 생각을 말씀 드리자면, 1. 규칙 위반. 스택 혹은 큐를 사용해도 됨에도 덱을 쓰면 스택과

안녕하세요, 저도 대학교 학부생으로서 자료구조에 대해 배우고 있는 학생입니다. 저도 잘은 모르지만 제 생각을 말씀 드리자면, 1. 규칙 위반. 스택 혹은 큐를 사용해도 됨에도 덱을 쓰면 스택과 큐의 규칙을 위반하게 되는 경우가 생길 것 같습니다. 이 경우 예외처리를 잘 해주면 괜찮겠지만, 굳이 위험 감수를 할 필요는 없을 것 같습니다. 2. 메모리 사용량 증가. 스택과 큐를 linked list로 구현하게 되면 head 포인터와 각 노드에는 데이터, 다음 노드의 포인터 값만을 가지고 활용을 할 수 있겠지만, 덱을 linked list로 구현을 하면 각 노드에 next 포인터 값 외에 prev 포인터 값을 넣을 공간과 tail 포인터 값이 추가로 필요하게 되어 메모리의 사용량이 증가함으로 스택만을 필요로 할 때에는 덱을 쓸 필요가 없어 보입니다. 스택의 경우에는 헤드 포인터를 계속해서 새로운 값으로 업데이트만 해주면 되고, 큐는 순서대로 헤드 와 그 다음 노드를 채워서 둘 다 헤드 값부터 배출하면 될 것 같습니다. 3. 코드의 가독성. 코드의 가독성 측면에도 구현에서 필요한 각 자료구조들을 확인할 때 덱을 큐와 스택으로 만들어서 사용하는것을 알아보는것 보다는 스택과 큐를 사용해 직관적으로 알아볼 수 있는것이 편해 보이기에 각 상황에 맞는 자료구조를 사용하는게 좋아 보입니다. 아직 부족한 점이 많은 학부생으로서 답변이 만족스러울지는 모르겠지만, 잘 부탁드립니다!!😁

알림

알림이 없습니다