C++/자료구조와 알고리듬7 3. Tree, Binary Search Tree 3.1 Tree3.1-1 Binary Tree Note) 이진 트리 좀 더 자세한 내용은 여기에서 참고.#include #include using namespace std;templateclass STree{ struct SNode { public: SNode(const T& InData) : Data(InData) , LeftChild(nullptr) , RightChild(nullptr) { } public: T Data; std::unique_ptr LeftChild; std::unique_ptr RightChild; };public:.. 2022. 11. 4. 2. Sort, Search, Stack, Queue 2.1 Sort Note) 정렬의 종류 버블 정렬 / 퀵 정렬 / 선택 정렬 / 삽입 정렬 / 병합 정렬 / 힙 정렬 Note) 정렬의 차이 시간 복잡도 / 공간 복잡도 / 안정성 / 직렬 Vs. 병렬 Note) 정렬 알고리듬의 안정성 똑같은 키 값을 가진 데이터들의 순서가 바뀌지 않으면 안정적인 정렬. 바뀌면 불안정한 정렬. 안정성이 보장 안되어도 대부분은 문제가 되진 않음. 그래서 잘 모르고, 생각도 안하는 부분. Note) 안정성이 문제가 되는 경우 정렬 기준이 되는 정렬 키 값이 실제 데이터와 다를 경우. ex. std::map과 같은 자료구조의 정렬. ex. 구조체 혹은 클래스의 일부 멤버로만 정렬하는 경우. Note.. 2022. 10. 23. 1. Recursive Function, Array 1.1 재귀함수1.1-1 단순 재귀 Ex)#pragma once#include void SimpleRecursion(int _nCount){ printf("%d\n", _nCount); if (1 == _nCount) { return; } SimpleRecursion(_nCount - 1);} Ex) 재귀함수를 이해하기 위한 가장 정확한 방법. 글쓴이는 이걸 "전개도를 펼친다"라고 생각함. 3차원의 도형을 전개해서 2차원으로 차원을 낮추는 것과 같음. 즉, 한 눈에 보기 편해서 쉬워짐.#include void recursive(int count){ if (4 == count) { return; } recur.. 2022. 10. 21. 이전 1 2 다음