목록C언어 (16)
W 개발 일지
버블 정렬 알고리즘 첫번째 데이터와 두번째 데이터를 비교하고 두번째와 세번째 데이터를 비교하고 세번째와 네번째를 비교해 (중략) 1회전 반복이 끝나면 가장 큰 데이터가 맨 뒤로 가기 때문에 모든 반복을 돌고나면 오름차순 정렬이 되는 알고리즘이다. 1 2 3 4 5 6 7 for(i=0 ; i
삽입 정렬의 기본적인 연산은 데이터가 정렬되어 있을 때 이들 데이터 사이의 적당한 위치에 맞는 데이터를 삽입하는 것이다. 데이터를 삽입하고 난 뒤 그보다 오른쪽에 있던 데이터는 오른쪽으로 하나씩 자리를 옮겨줘야 한다. 삽입 정렬은 두 번째 데이터부터 정렬을 시작해 그 앞에 있는 데이터와 비교하고 삽입할 위치를 찾은 뒤 삽입할 위치의 공간 확보를 위해 데이터를 오른쪽으로 옮겨준 뒤 삽입하게 된다. 1 2 3 4 5 6 7 8 9 for(i=2 ; i
단순 정렬 알고리즘 1 2 3 4 5 for(i=1 ; i
AVL 트리 (Adelson-Velskii & Landis Tree) : 대표적인 균형 이진 탐색 트리 각 노드에서 왼쪽 서브 트리의 높이(hL : height of left subtree)와 오른쪽 서브 트리의 높이(hR : height of right subtree)의 차이가 1 이하인 트리 특징 - 왼쪽 서브 트리 < 부모 노드 < 오른쪽 서브 트리의 크기 관계를 갖음 *이진 탐색 트리의 특징 - 각 노드의 왼쪽 서브 트리 높이와 오른쪽 서브 트리 높이의 차이 (hL - hR)를 노드의 균형 인수(BF, balance factor)라고 함 - 각 노드의 균형 인수로 {-1, 0, +1} 값만 가지게 함으로써 균형을 유지함 루트 노드 50을 기준으로 왼쪽 서브 트리의 높이는 2, 오른쪽 서브 트리의 ..
트리는 사이클이 없는 연결 그래프 그래프에 대한 설명글은 👇🏻 https://tildacoderecorder.tistory.com/107 [ 자료 구조 ] 그래프의 개념과 구조 그래프 : 연결되어 있는 원소 사이의 다:다 관계를 표현하는 자료구조 ( 트리는 1:N 관계 표현 ) 그래프 G = 객체를 나타내는 정점(Vertex)과 객체를 연결하는 간선(Edge)의 집합. G = (V, E) 그래프의 종 tildacoderecorder.tistory.com 신장 트리 : n개의 정점으로 이루어진 무방향 그래프G에서 n개의 모든 정점과 n-1개의 간선으로 만들어진 트리 깊이 우선 신장 트리 : 깊이 우선 탐색을 이용해 생성된 신장 트리 너비 우선 신장 트리 : 너비 우선 탐색을 이용해 생성된 신장 트리 최소 ..
Heap : 완전 이진 트리에 있는 노드 중에서 키 값이 가장 큰 노드나키 값이 가장 작은 노드를 찾기 위해 만들어진 자료 구조 최대 히프 max heap : 키 값이 가장 큰 노드를 찾기 위한 완전 이진 트리, 부모 노드의 키 값 >= 자식 노드의 키 값, 루트 노드 : 키 값이 가장 큰 노드 최소 히프 min heap : 키 값이 가장 작은 노드를 찾기 위한 완전 이진 트리, 부모 노드의 키 값 heap_size = 0; return h; } Colored by Color Scripter cs 구조체 heapType에 크기가 100인 1차원 배열 heap와 히프의 원소 갯수를 나타내는 heap_size를 선언한다. 공백 히프 h를 생성하고 공백이기 때문에 heap_size에 0을 넣어준다. 최대 H..
https://tildacoderecorder.tistory.com/104 이진 트리에 대한 개념 설명은 아래 글 참조 👇🏻 [ 자료구조 ] 트리와 이진트리의 개념과 구조 - C언어 트리 : 원소들 간에 1:n 관계를 가지는 비선형 자료구조, 원소들 간에 계층 관계를 가지는 계층형 자료구조, 상위 원소에서 하위 원소로 내려가면서 확장되는 트리(나무) 모양의 구조 트리는 하나 tildacoderecorder.tistory.com 이진 탐색 트리 Binary search Tree : 이진 트리를 탐색용 자료구조로 사용하기 위해 원소 크기에 따라 노드 위치를 정한 것 모든 원소는 서로 다른 유일한 키를 갖는다. 왼쪽 서브 트리에 있는 원소들의 키는 그 루트의 키보다 작다. 오른쪽 서브 트리에 있는 원소들의 키..
트리 Tree 트리 : 원소들 간에 1:n 관계를 가지는 비선형 자료구조, 원소들 간에 계층 관계를 가지는 계층형 자료구조, 상위 원소에서 하위 원소로 내려가면서 확장되는 트리(나무) 모양의 구조 트리는 하나의 루트 노드를 가지며 각 자식 노드와 부모 노드는 간선(edge)로 연결되어 있다. 트리의 이해 차수 노드의 차수 : 노드에 연결된 자식 노드의 수. ex ) 위 노드를 예로 들어 F의 차수는 2, G의 차수는 1, H의 차수는 0 트리의 차수 : 트리에 있는 노드의 차수 중 가장 큰 값 ex ) 위 트리의 차수는 2 단말 노드 : 차수가 0인 노드. 자식 노드가 없는 노드. ex ) 위 노드에서는 A, C, E, H가 해당 높이 노드의 높이 : 루트에서 노드에 이르는 간선의 수. 노드의 레벨 ex..