스택

정의

데이터 저장소에서 새로운 데이터의 위치는 저장소의 끝 (상위 또는 상단 포인터라고 함)이며, 저장소의 끝에서 전송되는 데이터가 나오고 입력은 푸시이며 출력은 팝입니다. 피크가 탑의 위치를 확인하라고 했어요

 

간단히 말해서, 스택은 일종의 바닥 포장 상자로 볼 수 있으며, 나중에는 위에 놓인 것이기 때문에 먼저 꺼내야 합니다.

 

스택은 두 가지 감각으로 사용할 수 있기 때문에주의를 기울여야 합니다. 스택 영역 메모리의 더미 영역 메모리의 일반 데이터를 저장하는 스택과 스택 영역 메모리의 변수와 같은 정보를 프로그램의 각 분기에 저장하는 스택.

 

구현

 

스택은 대기열 및 링크 목록과 같은 다른 데이터 유형과 비교하여 첫 번째 입력을 선택하는 개념입니다.

 

예를 들어, 배열을 사용하여 구현할 때 스택 배열을 먼저 유지하여 색인 값을 0으로 지정합니다. 색인이 0이면 스택이 비어 있고, 스택에 무언가를 넣으면 색인 번호에 넣어 색인을 올릴 수 있습니다. 인덱스가 초기 배치 크기보다 높으면 스택이 가득합니다. 스택에서 무언가를 제거하면 인덱스 값을 반환하고 하나의 인덱스를 제거합니다.

 

응용

 

또한 구현하기 쉬운 사람들이 매우 많은 곤독 고래를 가지고 있습니다. 예를 들어, 기능이 기능을 호출하거나 스스로 호출하는 것은 스택에 기반을두고 있습니다.

 

비주요가 가장 많이 도달하는 지역은 반환됩니다. 그래서 Ctrl +Z. 마지막 데이터가 먼저 나오는 스택 구조는 최신 명령을 취소해야하기 때문에 효율적입니다.

 

대부분의 현대 CPU에는 어셈블리의 스택 영역을 제어하라는 명령이 있습니다. 프로그램에 의해 사용된 스택 영역은 본질적으로 크기가 고정되어 있습니다. 실행되거나 대기하는 여러 함수와 같은 각 분기 지점에서 함수에 사용되는 변수와 같은 정보가 이러한 명령을 사용하여 추가되고 제거됩니다. 이를 이해하지 못하면 스택 영역 변수와 메모리를 서둘러 사용할 수 있으며 잘못된 데이터를 사용하여 이상한 값을 출력하거나 문제를 일으킬 수 있습니다.

 

나는 이것을 쉽게 설명할 것입니다. 함수가 호출되는 모멘트 스택이 해당 함수에 대한 영역 (스택 프레임 스택 프레임)을 할당하지만 푸는 함수 푸가 호출되는 상태에서 다른 함수 바 ()를 호출하는 상황을 고려합니다. 첫째, 스택 내부의 푸에 떨어지는 프레임에는 데이터가로드됩니다. 바가 호출되면 바가 수신되는 인수가 풀리고 바의 반환 값을받는 공간이 푸시됩니다. 막대에 해당하는 새 스택 프레임이 프레임에 할당되어 해당 프레임의 내부 변수를 밀어냅니다.

 

바의 스택 프레임 내부의 값을 하나씩 뽑아내 출력 데이터를 공간에 입력해 결과 값을 입력합니다. 즉, 함수를 호출할 때마다 스택을 평가하고 계산이 끝나면 하나씩 제거하고 출력이 하단에 있는 반환 공간으로 돌아갑니다. 이 개념을 잘 이해하면 작동 속도에서 재귀가 발생한다는 것을 알 수 있습니다.재귀는 일반 기능 호출과 다르지 않으며 재귀 호출이 이루어질 때마다 최종 지불 값이 적재된 모든 스택을 다시 가져야하기 때문에 재귀 알고리즘을 사용할 때 재귀 알고리즘이 필요한지 여부에 관계없이 설계를 정확하게 정확하게 정교하게하는 것이 중요합니다.

 

'PC 와 IT' 카테고리의 다른 글

트리  (0) 2020.07.07
  (0) 2020.07.06
연결리스트  (0) 2020.07.06
자료구조  (0) 2020.07.06
RFID  (0) 2020.07.03

+ Recent posts