Some programming languages allow a module or function to be called to itself. This technique is called Recursion.
Problem of Hanoi Tower (Tower of Hanoi) is a math game consisting of 3 columns and with more disk numbers 1.
Mixing (Merge Sort) is an arrangement algorithm based on the Divide and Conquer algorithm. With the worst case time complexity of Ο (n log n), this is one of the algorithms that
Shell Sort is a highly efficient sorting algorithm based on insertion sorting algorithm (Insertion Sort). This algorithm avoids the case of swapping positions of two distant
Quick Sort is a highly efficient algorithm and is based on dividing the array into smaller pieces.
A graph (graph) is a form of visual representation of a set of objects in which pairs of objects are connected by links. Interconnected objects are represented by points called
Deep search algorithms (Depth First Search - DFS for short), also called depth-first search algorithms, are algorithms that browse or search on a tree or graph and use the stack (
The breadth search algorithm (Breadth First Search - BFS for short) walks through a wide graph and uses a queue to memorize adjacent vertices to start the search when no peak is
Tree browsing is a process for accessing all the nodes of a tree and can also print the values of these nodes. Because all nodes are connected via edges (or links), we always
A binary search tree (BST Search Tree) is a tree in which all nodes have the following characteristics.
The Fibonacci sequence creates numbers by adding two numbers in front. Fibonacci series start from two numbers: F0 & F1. The initial value of F0 & F1 may be 0, 1 or 1, 1,
Divide and Conquer (Divide and Conquer) is an important method of designing algorithms. The idea of this method is quite simple and very easy to understand.
Data structure is a way of storing, organized and systematic data organization so that data can be used effectively.
Because C and C ++ languages are the languages that almost every university uses to teach, in this chapter I will guide you to install C and C ++ to run the examples in the
Array (Array) is one of the oldest and most important data structures. Arrays can store some fixed elements and these elements have the same type. Most data structures use arrays
Algorithms (also known as Algorithms - English is Algorithms) is a finite set of instructions to be executed in a certain order to get the desired result. In general, the
The asymptotic analysis of an algorithm is a concept that helps us estimate the running time of an algorithm. Using asymptotic analysis, we can draw the best conclusions about the
Greedy Algorithm is a combination optimization algorithm. Search algorithms, select local optimal solutions in each step in the hope of finding a global optimal solution.
Dynamic Programming algorithms are like Divide and Conquer algorithms in breaking down problems into smaller subproblems and then into smaller subproblems. But unlike dividing to
We use the Theorem Theorem (Master Theorem) to effectively solve the recursive formulas of the following form.