순차 선형 리스트
•논리적인 순서와 물리적인 순서가 같기 때문에 원소의 위치를 찾아 엑
세스하기 쉽다는 장점
• 삽입, 삭제 연산 후에 연속적인 물리 구조를 유지 하기 위해 추가 작
업이 필요하다는 단점
3.
순차 선형 리스트삽입, 삭제
영수 수진 경진 길준
1001 1002 1003 1004
영수 수진 나영 경진 길준
1001 1002 1003 1004 1005 나영
삽입
영수 나영 경진 길준
1001 1002 1003 1004
수진
삭제
메모리 주소 이동
메모리 주소 이동
4.
연결 자료구조
• 원소의논리적인 순서와 물리적인 순서가 일치 할 필요가 없다.
• 각 원소의 저장 되어있는 다음 원소를 주소에 의해 순서가 연결되는 방
식.
• 주소에 의해 순서가 연결되는 방식이 아니기 때문에 물리적인 순서를
맞추기 위한 오버헤드가 발생하지 않는다.
5.
노드
• 원소는 연결될다음 원소에 대한 주소를 저장해야 하기 때문에 원소
주소의 단위로 저장 해야한다.
• 노드는 원소의 값을 저장하는 데이터 필드(data field) 와 다음 노드의
주소를 저장하는 링크 필드(link field)로 구성.
data link 주소(reference)
단순 연결리스트
• 하나의방향으로 연결되어지는 구조
• 노드가 하나의 링크 필드에 의해서 다음 노드와 연결되는 구조를 가진
연결리스트.
8.
단순 연결리스트의 삽입#1
희진 철수 null
동수
data
희진
link data
철수
link data
null
link
data link
null동수null
9.
단순 연결리스트의 삽입#2
희진 철수 null
동수
data
희진
link data
철수
link data
null
link
data link
동수희진
희진
10.
단순 연결리스트의 삽입#3
동수 철수 null
동수
data
희진
link data
철수
link data
null
link
data link
동수희진
희진
11.
단순 연결리스트의 삭제#1
동수 철수 null
data
희진
link data
철수
link data
null
linkdata link
희진
희진
삭
제
12.
단순 연결리스트의 삭제#2
희진 철수 null
동수
data
희진
link data
철수
link data
null
link
data link
동수희진
희진
13.
단순 연결리스트의 삭제#3
희진 철수 null
동수
data
희진
link data
철수
link data
null
link
data link
동수희진
null
14.
자유공간 리스트
• 삽입연산시 메모리 공간을 할당하고, 삭제 연산시 사용하지 않는 노
드에 대한 메모리 공간을 처리가 필요함.
• 이러한 작업을 일일이 처리하지 않고 미리 노드를 만들어서 노드를 할당
하고 반납하게 처리.
data link data link data
null
linkFree
이중 연결 리스트
•단순 연결리스트에서 선행 노드에 접근하기 어렵다는 점을 개선하여
원형 연결리스트를 구성 했지만, 바로 이전 노드로 접근 하기위해서 전
체 리스트를 한바퀴 순회 해야하는 문제점.
• 이런 문제를 개선하기 위해서 양방향으로 순회 가능하게 구현한 리스트
를 이중연결 리스트.
datalink link
26.
양방향 기차놀이
희진X X동민철수 희진
null
datalink link datalink link
null
datalink link
27.
이중연결리스트 삽입 순서
①삽입할 노드를 가져온다
② 새 노드의 데이터 필드에 값 저장.
③ 새 노드의 왼쪽 노드의 오른쪽 링크를 새 노드의 오른쪽 링크에 저장.
④ 왼쪽 노드의 로은쪽 링크에 새 노드의 주소를 저장
⑤ 새 노드의 오른쪽 노드의 왼쪽 링크를 새 노드의 왼쪽 링크에 저장.
⑥ 오른쪽 노드의 왼쪽 링크에 새 노드의 주소를 저장.