Algorithms and data structures
(2017 ~ 2020)
Deterministic Turing Machine, that reads recursive enumerable languages.
Covered Topics: Computation Theory, Turing machine, languages, grammars, and symbols
An algorithm to find suggestion words from dictionary.txt. With Insertion, switching, removing, and replacing methods
Covered Topics: fstream, decode string, algorithms
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
Unique pointer implementation with C++. Should compile with g++ -std=C++11
Covered Topics: pointer, move, copy, overriding operators, and constructors.
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) ... -> dequeue() -> dequeue() -> [-][-]... -> enqueue(10) -> [-] -> queue.first() is , queue.last() is