⭐ Programming/자료구조와 알고리즘
[알고리즘] 퀵 정렬 (Quick Sort)
[알고리즘] 퀵 정렬 (Quick Sort)
2022.11.05글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자입니다 목차 인프런 Rookiss님의 '자료구조와 알고리즘' 강의를 기반으로 정리한 필기입니다. 😎 [C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part3: 자료구조와 알고리즘 강의 들으러 가기! 퀵 정렬 (Quick Sort) 퀵 정렬은 분할 정복(Divide and Conquer)에 바탕을 둔 정렬 방식이다. 퀵 정렬은 기준 요소(Pivot) 선정 및 분할의 반복하는 방식으로 동작한다. 시간복잡도는 평균적으로 O(NlogN)이다..
[알고리즘] 레드 블랙 트리 (Red Black Tree)
[알고리즘] 레드 블랙 트리 (Red Black Tree)
2022.11.03글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자입니다 목차 인프런 Rookiss님의 '자료구조와 알고리즘' 강의를 기반으로 정리한 필기입니다. 😎 [C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part3: 자료구조와 알고리즘 강의 들으러 가기! 레드 블랙 트리 (Red Black Tree) 레드 블랙 트리(Red Black Tree)는 자료구조 측면에서 '이진 탐색 트리'와 같지만 노드 색이 빨간색 또는 검은색으로 표시된다는 차이점이 있다. 레드 블랙 트리는 아래와 같은 규칙이 ..
[알고리즘] 이진 탐색(Binary Search), 이진 탐색 트리(Binary Search Tree)
[알고리즘] 이진 탐색(Binary Search), 이진 탐색 트리(Binary Search Tree)
2022.11.02글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자입니다 목차 인프런 Rookiss님의 '자료구조와 알고리즘' 강의를 기반으로 정리한 필기입니다. 😎 [C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part3: 자료구조와 알고리즘 강의 들으러 가기! 이진 탐색 Binary Search 본문내용넣기 이진 탐색 특징 정렬된 배열을 이용해서 이진 탐색 가능 (numbers[mid]) BUT 중간 삽입/삭제가 느리다. 정렬된 연결 리스트로는 불가능하다. (임의접근이 불가능하다). 이진 탐색의..
[알고리즘] A* 길찾기 알고리즘
[알고리즘] A* 길찾기 알고리즘
2022.11.02글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자입니다 목차 A* 길찾기 알고리즘 본문내용넣기 A* 길찾기 점수 매기기 F = G + H(Heuristic) 최종 점수 = 이동 비용 + 목적지까지 거리 F = 최종 점수 (작을수록 좋음, 경로에 따라 달라짐) G = 시작점에서 해당 좌표까지 이동하는데 드는 비용(작을수록 좋음, 경로에 따라 달라짐) H = 목적지에서 얼마나 가까운지 (작을수록 좋음, 고정) 코드 void Player::AStar() { Pos start = _pos; Pos d..
[알고리즘] Heap Sort, Merging Sort 힙 정렬, 병합 정렬
[알고리즘] Heap Sort, Merging Sort 힙 정렬, 병합 정렬
2022.11.01글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자입니다 목차 HEAP SORT & MERGING SORT 본문내용넣기 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 int main() { vector v{ 1, 5, 3, 4, 2 }; srand(time(0)); for (int i = 0; i
[알고리즘] 정렬 Sorting
[알고리즘] 정렬 Sorting
2022.11.01글의 요약 설명 부분. 목차 SORTING 정렬 정렬(Sorting)이란 정해진 기준에 맞춰 데이터를 정리하는 알고리즘이다. 가장 흔한 예로 오름차순/내림차순 정렬이 있다. 정렬의 궁극적인 목적은 데이터를 빠르고 쉽게 찾을 수 있는 '탐색'에 있다. 1 2 3 4 5 6 7 8 9 10 int main() { vector v{ 1, 5, 3, 4, 2 }; std::sort(v.begin(), v.end()); BubbleSort(v); SelectionSort(v); InsertionSort(v); } cs 다음은 아래의 버블, 선택, 삽입 정렬이 공통적으로 사용하는 메인 함수다. 더보기 int main() { vector v{ 1, 5, 3, 4, 2 }; std::sort(v.begin(), v.e..
[알고리즘] 우선순위 큐 Priority Queue
[알고리즘] 우선순위 큐 Priority Queue
2022.10.31글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자입니다 목차 우선순위 큐 Priority Queue 본문내용 공통코드 template class PriorityQueue { public: void push(const T& data) {...} void pop() {...} T& top() { return _heap[0]; bool empty() { return _heap.empty(); } private: Container _heap = {}; Predicate _predicate = {}; ..
[자료구조] 이진 트리, 힙 이론, 힙 트리
[자료구조] 이진 트리, 힙 이론, 힙 트리
2022.10.31글의 요약 설명 부분. 목차 Binary Tree (이진 트리) 각 노드가 최대 2개의 자식 노드를 가지는 트리 왼쪽을 타고 가면 현재 값보다 작다. 오른쪽을 타고 가면 현재 값보다 크다. 그냥 무식하게 추가하면, 한쪽으로 기울어져서 균형이 깨진다. 트리 재배치를 통해 균형을 유지하는 것이 과제 (AVL, Red-Black) 힙 이론 힙(Heap)은 '힙 순서 속성(Heap Order Property)'을 따르는 완전 이진 트리이다. 완전 이진 트리는 최고 깊이를 제외한 모든 깊이의 노드가 완전히 채워진 이진 트리다. '힙 순서 속성(Heap Order Property)'이란 '트리 내 모든 노드가 부모 노드보다 커야 한다'는 규칙이다. ※ 힙 이론(또는 힙 트리)에서 다루는 용어 힙(Heap)은 자유 ..
[자료구조] 트리 기초
[자료구조] 트리 기초
2022.10.31글의 ㄹㄴㅇㄹ약 설명 부분. 목차 Tree 트리 구조 본문내용넣기 부분코드 본문내용넣기 부분코드 본문내용넣기 전체코드 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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 ..
[자료구조] 다익스트라 알고리즘
[자료구조] 다익스트라 알고리즘
2022.10.31
[자료구조] BFS를 이용한 길찾기 구현
[자료구조] BFS를 이용한 길찾기 구현
2022.10.31
[자료구조] BFS (Breadth First Search) 너비 우선 탐색
[자료구조] BFS (Breadth First Search) 너비 우선 탐색
2022.10.28BFS (Breadth First Search) 너비 우선 탐색 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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 #include #include #include using namespace std; // BFS (Breadth First Search) 너비 우선 탐색 struct Vertex { // int dat..