A. Mashreghi :
스택은 자바의 크기 조정 배열 (벡터)로 구현되었습니다. 당신은 선택의 여지가 있지만, 그러나 나의 이해, 큐는 보통 일반적인 응용 프로그램에 대한 LinkedList의 인스턴스화됩니다.
나는 이론적으로 그들이 O (1) 자신의 모든 작업을 지원하는 것을 알고 최악의 경우 또는 상각. 그러나, 링크리스트 큐에 더 적합한 크기 조정하면서 배열 이상의 스택에 적합하는 구체적인 이유는 무엇입니까?
즉, 왜 모두 크기 조정 배열, 또는 연결리스트를 사용하지 않는?
야곱 G. :
나는 이론적으로 그들이 O (1) 자신의 모든 작업을 지원하는 것을 알고 최악의 경우 또는 상각.
같이, 착각하는 것 Stack#search
입니다 O(n)
작업.
... 연결리스트가 큐에 더 적합 동안?
A는 LinkedList
A와 사용할 때 최적하기 어렵다 Queue
의해 설명 된 바와 같이, 문서 의 ArrayDeque
:
스택으로서 사용하고,보다 빠른 LinkedList의 경우 대기열로 사용될 때의 ArrayDeque]를 빠르게 스택보다 쉽다.
즉, 왜 모두 크기 조정 배열, 또는 연결리스트를 사용하지 않는?
때문에 Stack
그 지정된대로 사용할 수 없습니다 오래된 클래스 문서 :
LIFO 스택 동작의 더 완전하고 일관된이 클래스에 우선하여 표기 양단 큐 인터페이스의 구현에 의해 제공된다.