본문 바로가기

전체 글

(34)
스택(Stack) - 마지막에 입력된 자료가 가장 먼저 출력되는 LIFO 방식으로 작동한다. - top이라는 인덱스 위치를 통해 삽입(push)과 삭제(pop)가 이루어지며, 초기상태의 top은 0또는 –1이 된다. - Top의 최대 크기는 스택의 크기에 의해 결정된다. - 저장장치에 물리적으로 어떻게 표현되느냐가 스택을 특징짓는 것이 아니라 스택이라는 논리적 구조의 동작이 스택의 특징을 결정한다. 응용분야 - 서브루틴 호출시 복귀 주소(return address) 저장 - 순환 프로그램(Recursive Program) 수행 시 - 인터럽트 발생 시 상태 저장 - 후위식(Postfix) 변환 - 버퍼 - 트리 운행 시(inorder, postorder, outorder) - 그래프에서 깊이 우선 탐색(DFS) - 퀵 정..
연결 리스트란 정의 - 배열 구조의 문제점인 삽입과 삭제의 어려움을 해결하기 위해 고안한 자료구조로, 삽입과 삭제 빈번한 작업과 적합하다. - 노드(Node)를 크게 데이터 필드와 링크 필드로 나누어 다음 노드가 기억된 공간의 주소를 이전 노드의 링크 필드에 기억시키는 방식으로 모든 노드들을 하나의 리스트로 연결한다. - 논리적 데이터 순서와 물리적 데이터 순서가 동일하지 않으므로 후속 데이터 액세스를 위해서는 포인터가 필요하다. 즉, 노드들은 논리적으로는 순차적으로, 물리적으로는 비순차적으로 저장된다. 단순 연결 리스트 - 임의의 문자를 접근하기 위해서는 처음부터 순차 탐색을 해야만 한다. 그러므로 임의의 원소의 값을 수정하는 연산이 일어날 경우 탐색 시간이 많이 필요하다. 원형 연결 리스트 - 단순 연결 리스트의 ..