스택 알고리즘 예제

스택 클래스의 전체 구현은 ListStack.java를 참조하십시오. 스택에 크게 의존하는 일부 환경은 추가 작업을 제공할 수 있습니다. 스택은 LIFO(선외)에 있는 마지막 이고 큐는 선착권(FIFO)입니다. 스택과 큐는 구조가 비슷하지만 사용이 다양합니다. 이러한 유형의 데이터 구조는 배열 및 목록과 같은 특정 순서로 데이터를 구성하는 데 도움이 됩니다. 이 것을 사용할 위치의 예로는 임시 목록에 개체를 추가하고 나중에 동일한 개체를 사용하는 것입니다. 스택은 컴퓨터 과학의 기본 데이터 구조 중 하나이며 많은 알고리즘 및 응용 프로그램에서 사용됩니다. 예를 들어 스택이 사용됩니다: 여러 C++ 표준 라이브러리 컨테이너 유형중 에는 LIFO 의미 체계가 있는 push_back 및 pop_back 작업이 있습니다. 또한 스택 템플릿 클래스는 푸시/팝 작업만 으로 제한된 API를 제공하기 위해 기존 컨테이너를 조정합니다. PHP에는 SplStack 클래스가 있습니다. Java의 라이브러리에는 벡터의 전문화특성인 스택 클래스가 포함되어 있습니다. 다음은 해당 클래스를 사용하는 Java 언어의 예제 프로그램입니다.

x87 부동 점 아키텍처는 개별 레지스터(현재 맨 위에 상대적)에 직접 액세스할 수 있는 스택으로 구성된 레지스터 집합의 예입니다. 일반적으로 스택 기반 컴퓨터와 마찬가지로 스택 최상위를 암시적 인수로 사용하면 버스 대역폭 및 코드 캐시를 잘 사용할 수 있는 작은 컴퓨터 코드 설치 공간을 사용할 수 있지만 허용되는 프로세서에서 가능한 일부 유형의 최적화도 방지할 수 있습니다. 모든 (두 개 또는 세) 난연에 대한 레지스터 파일에 대한 임의의 액세스. 스택 구조는 또한 최신 x87 구현에서 예시된 것처럼 여전히 실현 가능하지만 레지스터 이름 바꾸기(투기적 실행을 위한)를 사용하여 초스칼라 구현을 구현하기가 다소 복잡합니다. 고정 크기 스택 추상화에서 용량은 변경되지 않고 유지되므로 맨 위 용량에 도달하면 스택 개체가 예외를 throw합니다. 스택 클래스의 전체 구현은 ArrayStack.java를 참조하십시오. 순환 큐 구현은 분할의 나머지 부분을 취하여 계산되는 modulo 연산자(표시%)를 사용하여 수행됩니다(예: 8%5는 3). modulo 연산자를 사용 하 여 순환 배열로 큐를 볼 수 있습니다., 여기서 “래핑” “뒤로 % array_size”로 시뮬레이션할 수 있습니다. 후면 및 전면 인덱스 외에도 큐의 요소 수를 계산하기 위한 cur라는 또 다른 인덱스를 유지합니다. 이 인덱스를 갖는 것은 구현의 논리를 단순화. 예를 들어, 트레이 스택에서 트레이를 맨 위에 가져가서 교체하지 않으면 두 번째 트레이가 자동으로 해당 스택의 상단 요소(트레이)가 됩니다. 스택 ADT의 두 가지 구현에 대해 논의할 예정입니다.

배열은 각 요소에 직접 적이고 일정한 시간에 액세스 할 수있는 임의의 액세스 데이터 구조입니다 : 그들 각각은 아래 문서에서 검사 하는 그것의 자신의 장점과 단점이 있다.

Comments are closed.


Iron Age Tattoo Aftercare

Iron Age Piercing Aftercare

Iron Age Notary Form
We cannot display this gallery
RE-LOADABLE GIFT CARDS AVAILABLE NOW!
Iron Age Gift Cards
Iron Age on Facebook
Iron Age on Instagram
Iron Age on Twitter