• Basics of recursion (Recursion)

    Basics of recursion (Recursion)
    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)

    Problem of Hanoi Tower (Tower of Hanoi)
    Problem of Hanoi Tower (Tower of Hanoi) is a math game consisting of 3 columns and with more disk numbers 1.
  • Alignment algorithm (Merge Sort)

    Alignment algorithm (Merge Sort)
    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 in data structure and algorithm

    Shell Sort in data structure and algorithm
    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 (Quick Sort)

    Quick Sort (Quick Sort)
    Quick Sort is a highly efficient algorithm and is based on dividing the array into smaller pieces.
  • Graph data structure (Graph)

    Graph data structure (Graph)
    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 algorithm

    Deep search algorithm
    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 (
  • Search algorithm by width

    Search algorithm by width
    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
  • Browse trees in data structures and algorithms

    Browse trees in data structures and algorithms
    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
  • Binary Search Tree (Binary Search Tree)

    Binary Search Tree (Binary Search Tree)
    A binary search tree (BST Search Tree) is a tree in which all nodes have the following characteristics.
  • Fibonacci series in Data Structures and Algorithms

    Fibonacci series in Data Structures and Algorithms
    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,
  • Algorithm for sharing (divide and conquer)

    Algorithm for sharing (divide and conquer)
    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.
  • What is Data Structure?

    What is Data Structure?
    Data structure is a way of storing, organized and systematic data organization so that data can be used effectively.
  • Environment settings in Data structures

    Environment settings in Data structures
    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 data structure

    Array data structure
    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
  • What is algorithm?

    What is algorithm?
    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
  • Asymptotic analysis in Data Structures and Algorithms

    Asymptotic analysis in Data Structures and Algorithms
    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 (Greedy Algorithm)

    Greedy Algorithm (Greedy Algorithm)
    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 (Dynamic Programming)

    Dynamic Programming (Dynamic Programming)
    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
  • Master Theorem algorithm (Master Theorem)

    Master Theorem algorithm (Master Theorem)
    We use the Theorem Theorem (Master Theorem) to effectively solve the recursive formulas of the following form.