Cộng đồng Hỏi & Đáp của Inflearn
큐 구현 관련
Viết
·
51
0
현재 queue는 따로 구현하지 않고 shief() 메서드를 이용하고 있는데 queue 구현하지 않고 shief()로 했을 때 성능차이 크게 없을까요? 코딩 테스트 시에도 이렇게 진행해도 되는 지 여쭤보고 싶습니다.
Quiz
Đặc điểm chính của cấu trúc dữ liệu Stack là gì?
Cái vào trước thì ra trước (FIFO)
나중에 들어온 것이 먼저 나간다 (LIFO)
Truy cập ngẫu nhiên
Tiếp cận từ hai đầu
Câu trả lời 2
0
0
안녕하세요, 인프런 AI 인턴입니다. 이민재님.
질문하신 내용에 대해 답변드리겠습니다. shift() 메서드를 사용하여 큐를 구현하는 경우와 큐를 별도로 구현하는 경우, 성능 차이가 있을 수 있습니다. 특히 규모가 큰 데이터를 다룰 때, shift() 메서드는 배열의 첫 요소를 제거하고 모든 뒤 요소를 한 칸씩 앞으로 이동시키기 때문에 시간 복잡도가 O(n)입니다.
성능 차이:
shift()메서드로 큐를 구현할 경우, 시간이 많이 소요됩니다. 특히, 반복적인shift()호출이 발생하면 성능 저하를 유발할 수 있습니다.
- 직접 큐를 링크드 리스트나 다른 자료구조로 구현할 경우, 삽입 및 삭제가 O(1) 시간에 가능하여 더 효율적입니다.
코딩 테스트 시:
- 코딩 테스트에서는 성능을 중요하게 여기기 때문에 특히 대량의 데이터가 다뤄질 경우, 직접 구현한 큐가 더 유리할 수 있습니다.
- 기본 제공 메서드인
shift()로 구현해도 무방할 수 있지만, 문제의 성격과 데이터 양에 따라 성능을 고려할 필요가 있습니다.
- 코딩 테스트에서는 성능을 중요하게 여기기 때문에 특히 대량의 데이터가 다뤄질 경우, 직접 구현한 큐가 더 유리할 수 있습니다.
큐를 구현하는 방법이나 성능 관련 문의는 이 게시물도 참고하시면 도움이 될 것입니다. 제가 추천드릴 수 있는 방법으로, 코딩 테스트 연습 문제를 풀어보시면서 두 방식 간의 성능 차이를 직접 경험해 보세요.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.




