Sorting algorithm repeatedly selecting the smallest element from the list and moving it to the sorted portion.
Selection (Sort)
Trivial or easy case where the solution is obvious.
Base case
Collection of nodes and arcs.
Graph
4 basic operations on nodes.
CRUD
Take a stream of characters and break it into a stream of meaningful tokens.
Lexical analysis
Time complexity is O(n2), but if array is almost sorted then much faster algorithm.
Insertion (sort)
General case of Factorial problem.
N ! = N * (N-1) !
Tree having 0, 1, or 2 children nodes.
Binary Tree
A function that converts a given numeric or alphanumeric key to a small practical integer value
hash function
A pattern that the regular expression engine attempts to match in input text.
Regular expression
In quick sort, a somewhat arbitrary element in the collection.
Pivot
A problem very close to the original problem.
Reduce (case)
Tree traversal giving sorted data from binary search tree.
In-order
More than one value hash to the same slot in the table or data structure (hash table).
Collision
A computation model that can be used to simulate sequential logic and some computer programs.
Finite state machine (FSM)
Average case of time complexity in quick sort.
Θ(n log n)
Algorithm design paradigm recursively breaking down a problem into sub-problems until these become simple enough to be solved directly.
Divide and conquer
Tree traversal checking the (peer) similar-level nodes first.
Breadth first
Hash table is an array of linked lists i.e., each index has its own linked list to resolve collision.
Chaining
A set of recursive rules used to generate patterns of strings.
Context Free Grammar (CFG)
In Merge sort, time complexity of divide if you touch O(1) item per level.
O(log2 n)
When a function gets called, that context is saved and a new context for the function is pushed on top of the old context.
Auxiliary data structure to remember what to do next in breadth first implementation.
Queue
A method of analyzing the costs associated with a data structure that averages the worst operations out over time
Amortized analysis
A metasyntax notation for context-free grammars, often used to describe the syntax of languages used in computing, such as computer programming language.
Backus-Naur Form (BNF)