heap의 개념과 구조, 삽입/삭제 연산 - C언어
·
C
Heap: 완전 이진 트리에 있는 노드 중에서 키 값이 가장 큰 노드나키 값이 가장 작은 노드를 찾기 위해 만들어진 자료 구조 최대 히프 max heap: 키 값이 가장 큰 노드를 찾기 위한 완전 이진 트리, 부모 노드의 키 값 >= 자식 노드의 키 값, 루트 노드 : 키 값이 가장 큰 노드최소 히프 min heap: 키 값이 가장 작은 노드를 찾기 위한 완전 이진 트리, 부모 노드의 키 값 ❗️ 이진 트리에서는 왼쪽이 루트 노드보다 작고 오른쪽이 루트 노드보다 컸지만 히프는 좌우가 아닌 상하를 따짐. 히프의 구현1차원 배열의 순차구조를 이용하면 인덱스 관계를 이용하여 부모 노드를 찾을 수 있다. 위에서 아래로 내려오면서 동시에 왼쪽부터 차례대로 배열의 원소가 된다. ( 인덱스 0은 사용하지 않는다 )..
이진 탐색 트리의 탐색/삽입/삭제 연산 - C언어
·
C
https://tildacoderecorder.tistory.com/104이진 트리에 대한 개념 설명은 아래 글 참조 👇🏻 [ 자료구조 ] 트리와 이진트리의 개념과 구조 - C언어트리 : 원소들 간에 1:n 관계를 가지는 비선형 자료구조, 원소들 간에 계층 관계를 가지는 계층형 자료구조, 상위 원소에서 하위 원소로 내려가면서 확장되는 트리(나무) 모양의 구조 트리는 하나tildacoderecorder.tistory.com 이진 탐색 트리 Binary search Tree: 이진 트리를 탐색용 자료구조로 사용하기 위해 원소 크기에 따라 노드 위치를 정한 것모든 원소는 서로 다른 유일한 키를 갖는다.왼쪽 서브 트리에 있는 원소들의 키는 그 루트의 키보다 작다.오른쪽 서브 트리에 있는 원소들의 키는 그 루..
트리와 이진트리의 개념과 구조 - C언어
·
C
트리 Tree트리 : 원소들 간에 1:n 관계를 가지는 비선형 자료구조, 원소들 간에 계층 관계를 가지는 계층형 자료구조, 상위 원소에서 하위 원소로 내려가면서 확장되는 트리(나무) 모양의 구조트리는 하나의 루트 노드를 가지며 각 자식 노드와 부모 노드는 간선(edge)로 연결되어 있다. 트리의 이해차수노드의 차수 : 노드에 연결된 자식 노드의 수. ex ) 위 노드를 예로 들어 F의 차수는 2, G의 차수는 1, H의 차수는 0트리의 차수 : 트리에 있는 노드의 차수 중 가장 큰 값  ex ) 위 트리의 차수는 2단말 노드 : 차수가 0인 노드. 자식 노드가 없는 노드.  ex ) 위 노드에서는 A, C, E, H가 해당 높이노드의 높이 : 루트에서 노드에 이르는 간선의 수. 노드의 레벨  ex ) B..
연결리스트를 이용한 큐의 구현 | 연결큐 - C 언어
·
C
연결 큐1차원 배열을 이용하기 때문에 크기가 정해져 있는 원형 큐의 문제점을 보완해 나온 것이 연결 리스트를 이용한 연결 큐.원형 큐에 대한 설명은 아래 글로 👇🏻https://tildacoderecorder.tistory.com/102 [ 자료구조 ] enQueue()와 deQueue() 함수를 이용한 원형큐큐의 개념과 구조 큐 : 스택과 다르게 "선입선출"의 구조를 가지고 있다. 먼저 들어간 것이 먼저 나오는 구조. FIFO = First In First Out 순차큐의 문제점을 보완해 나온 것이 원형큐 = 1차원 배열을 사tildacoderecorder.tistory.com 큐의 원소는 연결 리스트의 노드이고, 각 노드를 포인터로 연결한다. front = 첫 번째 노드를 가리키는 포인터 변수 (..
enQueue( )와 deQueue( ) 함수를 이용한 원형큐 - C 언어
·
C
스택에 대한 설명 👇🏻https://tildacoderecorder.tistory.com/101 [자료구조] push( ) 와 pop( ) 함수를 이용한 스택스택의 개념과 구조 : 스택은 마지막에 삽입한 원소는 맨 위에 쌓여 있다가 가장 먼저 삭제 됨 / 후입선출 구조 ( LIFO, Last-In-First-Out ) 스택에서의 삽입 연산 : push 스택에서의 삭제 연산 : pop 기본tildacoderecorder.tistory.com큐의 개념과 구조큐 : 스택과 다르게 "선입선출"의 구조를 가지고 있다. 먼저 들어간 것이 먼저 나오는 구조. FIFO = First In First Out순차큐의 문제점을 보완해 나온 것이 원형큐 = 1차원 배열을 사용하면서 논리적으로 처음과 끝이 원처럼 연결되어 ..
push( ) 와 pop( ) 함수를 이용한 스택 - C 언어
·
C
스택의 개념과 구조: 스택은 마지막에 삽입한 원소는 맨 위에 쌓여 있다가 가장 먼저 삭제 됨 / 후입선출 구조 ( LIFO, Last-In-First-Out )스택에서의 삽입 연산 : push스택에서의 삭제 연산 : pop 기본 설정 #include stdio.h>#define STACK_SIZE 100 int S[STACK_SIZE];int top=-1;cs 100 크기의 S라는 정수형 배열을 만든다. 변수 top은 삽입과 삭제가 일어나는 위치로 현재 스택의 가장 위에 있는 데이터 위치이다.새로운 데이터가 들어오면 배열의 첫번째인 S[0]에 들어오기 때문에 top의 위치는 0으로 바뀌어야 한다. 그렇기에 top의 초기값은 -1이다. 스택의 push( ) 알고리즘 : 스택 S에서 top이 마지막 자료를 ..