큐의 구현을 위해 링크 된 목록을 arraylist보다 사용하는 것이 더 좋습니까? dequeue하면 좋아하는 목록 구현의 경우 과부하가 적습니까?Java의 큐 구현
0
A
답변
1
LinkedList 시작 부분에서 요소를 큐 해제하는 데 걸리는 시간이 ArrayList보다 적습니다.
이것은 ArrayList가 배열을 기반으로하고 있기 때문에 첫 번째 요소가 제거되면 대기열을 제외한 모든 요소는 한 위치 왼쪽으로 시프트되어야합니다. ArrayList에있는 요소의 수가 많을수록 더 길어집니다.
LinkedList의 경우 목록의 크기와 상관없이 첫 번째 요소를 대기열에서 제외하기 위해 업데이트해야하는 일정한 개수의 참조 만 있습니다.
물론 ArrayList의 끝에서 요소를 큐에서 제거 할 수 있으며 일정 시간 (대부분의 경우)이 소요되지만 새 요소를 추가하는 것부터 시작하여 모든 요소를 한 위치로 이동해야합니다. 권리.
0
Java에서 이미 LikedList 대기열 구현이 있습니다. 나는 코드를 분석하지 않았지만, LinkedList가 ArrayList보다 빠르면 엔트리를 큐에서 빼낼 수있을 것이라고 추측 할 수 있습니다.
관련 문제
- 1. Java의 큐 구현
- 2. 큐 구현
- 3. Java의 블로킹 큐
- 4. 자바 큐 구현
- 5. 요청 큐 구현
- 6. FIFO 기반 큐 구현?
- 7. 스레드 안전 큐 구현
- 8. 힙을 사용하여 큐 구현
- 9. 데이터 구조에서 큐 구현
- 10. 동적 큐 구현
- 11. Java에서 큐 구현
- 12. 분산 큐 구현
- 13. 하스켈에서 블로킹 큐 구현
- 14. 스레드 구현 당 큐
- 15. linkedlist를 사용하는 큐 구현
- 16. 큐 구현 (fifo)
- 17. PHP 큐 파일 구현
- 18. nasm 어셈블리의 큐 구현
- 19. 더블 엔드 큐 구현
- 20. 루비에서 블로킹 큐 구현
- 21. WCF 서비스의 큐 구현
- 22. 우선 순위 큐 구현
- 23. Java의 단순 우선 순위 큐
- 24. go에서의 우선 순위 큐 구현
- 25. Java에서 비동기 메시지 큐 구현
- 26. 메시지 큐 솔루션 구현 방법
- 27. 파이썬 우선 순위 큐 구현
- 28. C의 우선 순위 큐 구현
- 29. 큐 배열 구현 크기 조정
- 30. 비 계속 감소하는 큐 구현
[java.util.Queue] (http://docs.oracle.com/javase/8/docs/api/java/util/Queue.html)의 많은 구현 중 하나를 사용하지 않는 이유는 무엇입니까? – Todd
@Todd 대기열을 사용하고 싶지 않습니다. 그냥 구현하고 싶습니다. 그냥 호기심 – mc20