Algorithms and data structures
(2017 ~ 2020)

TuringMachine
Deterministic Turing Machine, that reads recursive enumerable languages.
Covered Topics: Computation Theory, Turing machine, languages, grammars, and symbols https://github.com/kyeoreheo/TuringMachine SpellChecker
An algorithm to find suggestion words from dictionary.txt. With Insertion, switching, removing, and replacing methods
Covered Topics: fstream, decode string, algorithms https://github.com/kyeoreheo/CSpellChecker 3x3 Sudoku Algorithm
An algorithm to find 3x3 sudoku answer that some of three numbers in a row are the same for vertical, horizontal, and diagonal.
Covered Topics: Difference between array and vector, backTracking, displaying vectors on the console GitHub: https://github.com/kyeoreheo/CSudoku 

Unique Pointer Unique pointer implementation with C++. Should compile with g++ std=C++11
Covered Topics: pointer, move, copy, overriding operators, and constructors. GitHub: https://github.com/kyeoreheo/Cuniquepointer 

FastQueue FastQueue is a vector container that fill up the spots very efficiently. Vector of size 10 holds 10 blocks and if we add one more, its capacity grows to 20. However, when we remove one elements, and add one elements back, the capacity becomes 20 anyways. FastQueue fills up the empty blocks first before it expends the capacity.
example) [0][1][2][3]... > dequeue() > dequeue() > [][][2][3]... > enqueue(10) > [10][][2][3] > queue.first() is [2], queue.last() is [10] GitHub: https://github.com/kyeoreheo/cfastqueue 