2024/06/19 4

이중 연결 리스트 (p75 ~ p76)

이중 연결 리스트(doublely linked list)는 두 개의 포인터를 사용하여 선행 노드와후속 노드에 모두 연결되는 양방향 구조를 가진다.  자료 삽입이중 연결 리스트에서 자료를 삽입하는 과정음 다음과 같다.먼저 새로운 노드를 생성하여 노드의 데이터 영역에 자료(B)를 저장한다.  새로운 노드(B)의 오른쪽 포인터 영역이 다음 노드(C)를 가리키게 하고,새로운 노드(B)의 왼쪽 영역이 이전 노드(A)를 가리키게 한다.  후속 노드(C)의 왼쪽 포인터 영역이 새로운 노드(B)를 가리키게 하고,선행 노드(A)의 오른쪽 포인터 영역이 새로운 노드(B)를 가리키게 한다.  자료 삽입이 완료된 상태는 다음과 같다.  자료 삭제자료가 저장된 리스트에서 가운데 위치한 노드(B)를 삭제하는 과정은 다음과 같다...

자료구조 2024.06.19

단순 연결 리스트의 연산 (p73 ~ p74)

자료 삽입단순 연결 리스트에서 자료를 삽입하는 과정은 다음과 같다.먼저 새로운 노드를 생성하여 노드의 데이터 영역에 자료(B)를 저장한다.  새로 생성된 노드(B)의 포인터 영역이 후속 노드(C)를 가리키게 한다.  선생 노드(A)의 포인터 영역이 새로 생성된 노드(B)를 가리키게 한다.  이전 노드(A)와 후속 노드(C) 사이에 새로운 노드(B)가 삽입되었다.  이처럼 연결 리스트에서 자료를 삽입하고자 할 때는 포인터 값만변경시팀으로써 연산을 쉽게 수행할 수 있으며, 이웃하는 노드들을이동시키지 않아도 된다. 자료 삭제단순 연결 리스트에서 자료를 삭제하는 방법 역시 간단하다.자료가 연결된 리스트에서 가운데 위치한 노드(B)를 삭제하는과정은 다음과 같다.  먼저 삭제하고자 하는 노드(B)의 이전 노드(A)..

자료구조 2024.06.19

단순 연결 리스트 개념 (p72)

단순 연결 리스트는 각 노드마다 하나의 포인터 영역을 가지며,이전 노드의 포인터가 다음 노드를 가리키면서 서로 연결된 구조이다.기억 공간 내 떨어져 있는 자료들을 포인터로 연결하며, 자료가주기억 장치 내에 물리적으로 어떻게 저장되어 있는지에 관계없이포인터가 가리키는 주소를 사용하여 논리적인 순서를 가진다.  연결 리스트에서 하나의 자료를 저장하는 단위를 노드(node)라고 하며,한 개의 노드는 실제로 자료를 저장하는 데이터 영역과 다음 자료가 저장된노드를 가리키는 포인터 영역으로 구성되어 있다. 헤드 포인터(head pointer)가 첫 번째 노드와 연결되며, 포인터를 통하여연결되어 있는 각 자료에 접근할 수 있다. 또한, 마지막 노드는 더 이상연결할 후속 노드가 없기 때문에 포인터 영역을 null로 설..

자료구조 2024.06.19

리스트의 개념 (p71)

자료를 순서와 상관없이 무작위로 저장하는 집합과는 달리리스트(list)는 순서에 따라 차레대로 저장하는 자료 구조를 말한다.  리스트에 각 자료는 이웃하는 원소들과 한 개씩만 대응되기때문에 선형 리스트라고도 한다. 이러한 리스트는 자료를 메모리에 저장하는 방법에 따라순차 리스트와 연결 리스트로 구분한다.  순차 리스트는 배열을 이용하여 구현하기 때문에첨자를 이용한 자료 접근 속도가 빠르며, 자료들이 나열되어있는 논리적 순서와 실제 기억 고간에 저장되는물리적 순서가 같다. 그러나 자료의 삽입이나 삭제 연산 시 원소들을 일일이이동 시켜야 하는 배열의 문제점도 그대로 지니고 있다.  연결 리스트는 물리적인 저장 공간 내에 각각 흩어져 있는자료들이 링크로 서 연결되어 있는 구조를 말한다.선행 자료에는 후속 자료..

자료구조 2024.06.19