일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
- 이진 탐색 트리
- SCM
- 자료구조
- Windows
- C++
- linked list
- 바이낸스
- 선물
- Python
- array
- 트리
- 전위
- 숫자
- 알고리즘
- 기초
- 후위
- 순회
- 비트코인
- Tree
- 템플릿 함수화
- 문자열
- trading view
- BST
- Data Structure
- 연결 리스트
- template
- mutable
- 오버로딩
- #선물 #비트코인#알트코인#매매#코인#마진
- Basic
- Today
- Total
목록Data Structure/Linked List (2)
Project Hub

이중 연결 리스트 (Doubly Linked List) 각 노드가 선행 노드와 후속 노드에 대한 링크를 가지는 리스트 저번에 구현한 단일 연결 리스트에 이어서 이중 연결 리스트를 구현해봤다. 크게 어려운 것은 없었지만, 노드와 노드간 관계를 재정의 하는 것 (추가, 삭제 등)에 있어서 주의가 필요할 듯 하다. 이중 연결 리스트의 구조는 아래 그림을 참고하면 된다. 여기서 head / tail 노드는 관리를 위한 노드며, 데이터는 없다. template 를 이용하여 이중 연결 리스트 클래스를 먼저 구현해보았다. 이중 연결 리스트의 데이터 구조 Node 구조체 struct Node { int iValue; Node *next; // 다음 노드 Node *prev; // 이전 노드 }; 연결 리스트 관리 구조..

연결 리스트(Linked List) - 포인터로 구현 데이터의 집합을 저장하기 위해 사용되는 데이터 연속되는 항목들이 포인터로 연결 동적으로 리스트의 크기가 커지거나 줄어들 수 있음 필요한 만큼 메모리를 사용하기 때문에 불필요한 메모리를 낭비하지 않음 연결 리스트를 배열로 구현 할 경우, 속도가 빠르지만, 일정한 메모리를 미리 확보해야 한다는 단점이 있다. 연결 리스트를 포인터를 이용하여 구현할 경우, 필요한 만큼 객체를 생성하기 때문에 낭비되는 부분이 없다. 하지만 포인터를 저장하는 공간이 필요하기 때문에 객체 1개당 필요한 메모리가 배열보다 커진다는 단점이 있다. 아래의 코드는 포인터를 이용한 단일 연결 리스트(Singly Linked List)를 구현했다. 우선, 연결 리스트를 관리하기 위한 구조체..