일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
31 |
- Python
- mutable
- 연결 리스트
- 순회
- BST
- 기초
- 오버로딩
- Basic
- 바이낸스
- Windows
- 숫자
- 전위
- 자료구조
- 선물
- template
- Data Structure
- 비트코인
- C++
- Tree
- array
- 트리
- 알고리즘
- 후위
- SCM
- 템플릿 함수화
- 문자열
- #선물 #비트코인#알트코인#매매#코인#마진
- trading view
- 이진 탐색 트리
- linked list
- Today
- Total
목록Data Structure (9)
Project Hub

큐(Queue) 먼저 들어간 데이터가 먼저 반환되는 FIFO(First-In First-Out) 구조. 큐의 구현은 배열, 연결 리스트 등을 이용해 구현 가능하다. 일반적인 큐와 circuler queue 등이 존재한다. 큐의 구현은 3가지 형식으로 구현을 해봤다. 1. 연결 리스트를 이용한 큐 데이터 구조 struct Queue { int iData; Queue* next; }; 함수 EnQueue bool CQueue::EnQueue(int _iData) { bool bRet = false; Queue* newNode; newNode = (Queue*)malloc(sizeof(Queue)); if (NULL == newNode) return false; newNode->iData = _iData; i..

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

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