일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- stl
- 시스템프로그래밍
- set
- map
- Stack
- 아두이노 컴파일러
- 통계학
- priority_queue
- Arduino
- WinAPI
- directx
- Array
- vector
- c++
- 수광 소자
- LineTracer
- 라인트레이서
- 자료구조
- Visual Micro
- 컴퓨터 그래픽스
- html
- queue
- 운영체제
- C언어
- list
- Algorithm
- Deque
- arduino compiler
- 아두이노 소스
- 아두이노
- Today
- Total
목록자료구조 (43)
Kim's Programming
단순원형연결리스트의 소스입니다. 사용시에는 iostream을 인클루드 시켜야합니다. 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153..
C++/템플릿화 시킨 단순연결리스트 소스입니다. 사용시에는 iostream 헤더를 인클루드시켜야합니다. 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491..
이진 탐색 트리(Binary Search Tree) - 정의 이진 탐색 트리는 탐색 작업을 효율적으로 하기 위한 자료구조입니다. 다음의 정의들을 가지고 있습니다. 모든 원소는 서로 다른 유일한 키를 가짐왼쪽 서브트리에 있는 원소들의 값은 그 루트의 값보다 작음오른쪽 서브트리에 있는 원소의 값들은 그 루트의 값보다 큼왼쪽 서브트리와 오른쪽 서브트리도 이진 탐색 트리임 왼쪽 서브트리 값 루트노드의 키 값 인 경우 : 루트 노드의 오른쪽 서브 트리에 대해서 탐색이런식으로 서브트리로 넘어가서 순환적으로 탐색을 반복하게 됩니다. 다음의 11이란 값을 찾는 연산을 그림으로 나타내면 다음과 같습니다.11을 루트 노드의 키 값 8과 비교 -> 오른쪽으로 이동11과 10을 비교 -> 오른쪽으로 이동11과 14를 비교 -..
우선순위 큐(Priority Queue) - 정의 우선순위 큐란 우선 순위를 가진 항목들을 저장하는 큐 입니다. 즉, 우선 순위가 높은 데이터가 먼저 나갑니다. 우선순위 큐(Priority Queue) - 활용 우선순위 큐의 활용 분야는 다음과 같습니다. 시뮬레이션 시스템 (사건의 시각 입장으로)네트워크 트래픽 제어OS 작업 스케줄링 우선순위 큐(Priority Queue) - 다른 자료구조와의 차이 자료구조 삭제되는 요소 스택(Stack) 가장 최근에 들어온 데이터 큐(Queue) 가장 먼저 들어온 데이터 유선순위 큐(priority Queue) 가장 우선순위가 높은 데이터 우선순위 큐(Priority Queue) - 힙(Heap)으로 구현 우선순위 큐의 구현은 힙(Heap)을 이용합니다. 힙이란 완전..
이진 트리(Binary Tree) 이번부터는 동적할당으로 만든 트리를 가정할 것입니다. C로는 동적할당을 통한 이진트리 구현이 불가능하기 때문에 임의로 연결한 동적 이진 트리를 통해서 확인해야합니다. 이진 트리(Binary Tree) - 순회 이진트리의 순회란 계층적 구조로 저장되어 있는 이진 트리의 모든 노드를 한 번씩 방문하여 노드가 가지고 있는 데이터를 목적에 맞게 처리하는 것을 의미합니다. 순회를 위해 수행할 수 있는 작업은 3가지로 정의 할 수 있습니다. 현재 노드를 방문하여 데이터를 읽는 작업 : D현재 노드의 왼쪽 서브트리로 이동하는 작업 : L현재 노드의 오른쪽 서브트리로 이동하는 작업 : R 이진 트리가 순환적으로 정의되어 구성있기 때문에 순회 작업또한 서브트리에 대해서 순환적으로 반복하..
이진 트리 (Binary Tree) - 정의 이진트리란 트리의 노드 구조를 일정하게 정의하여 트리의 구현과 연산이 쉽도록 정의한 트리입니다. 또한 이진이라는 단어에서 의미처럼 모든 노드가 2개의 서브 트리를 가지고 있는 트리를 의미입니다. (서브트리는 공집합일 수 있습니다.) 이진트리의 모든 노드는 왼쪽 자식노드와 오른쪽 자식 노드를 가집니다. 자식노드는 최소 0개부터 최대 2개 까지 가질 수 있습니다. 이진 트리 (Binary Tree) - 특성 이진트리는 노드의 개수가 n개일때 n-1개의 간선의 개수를 가지게 됩니다. root를 제외한 (n-1)개의 노드가 부모 노드와 연결되는 한개의 간선을 가지기 때문에 이런 결과가 나오게됩니다. 또한 높이가 h인 이진 트리가 가질 수 있는 노드의 최소 개수는 h+..
트리(Tree) - 특성 지금까지 포스팅했던 자료구조(스택(Stack), 리스트(List), 큐(Queue) 등)들은 선형구조였습니다. 하지만 오늘부터 포스팅 할 트리(Tree)는 계층적인 구조를 나타내는 자료구조입니다. 원소들간에 1:多의 관계를 가지는 비선형구조입니다. 트리(Tree) - 응용 분야 트리는 계층을 이용하는 모든 곳에서 이용되게 됩니다. 계층적인 조직 표현 조직도같은 계층적인 모양도 트리로 표현가능합니다. 컴퓨터 디스크의 디렉토리 구조 디렉토리도 트리를 통해 표현이 가능합니다. 인공지능(AI)에서의 결정트리(Decision Tree) 인공지능에서 앞선 다음 행동들을 결정하기 위해서 트리를 사용합니다. 트리(Tree) - 용어 트리에서만 사용하는 용어들이 있는데 이 용어 들을 알아보겠습니..
덱(Deque) - 동적 - 특징과 정의 Deque이란 Double Ended Queue의 준말로 기존의 큐와는 다르게 앞뒤 어디로든 자료를 넣을 수 있고 어디로든 자료를 뺄수 있는 자료구조 형태를 의미합니다. 전반적인 기능들은 큐와 같기 때문에 배열로는 구현을 안하고 동적으로만 구현을 하겠습니다. 덱은 다음과 같은 구조체를 사용하여 만들게 됩니다.1234567891011121314#include#include struct Node{ int Item; Node *Prev; Node *Next;};struct Deque{ Node *header; Node *tailer;};cs그냥 느낌상으로는 이중 연결 리스트정도의 느낌입니다. 덱(Deque) - 동적 - ADT void init_Deque() 12345..