- 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)

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 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

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

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)

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

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)

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?

Data structure is a way of storing, organized and systematic data organization so that data can be used effectively.
- 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 (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?

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

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 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 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)

We use the Theorem Theorem (Master Theorem) to effectively solve the recursive formulas of the following form.
- Linked list data structure (Linked List)

A Linked List is a sequence of data structures that are connected through links (links). Simply put, the Linked List is a data structure consisting of a group of nodes (nodes)
- Data structure of double linked list

The Doubly Linked List is a variant of the Linked List, in which browsing through the buttons can be done in two ways: easy forward and backward. when compared with Single Link
- Data Link List structure (Circular Linked List)

The linked list (Circular Linked List) is a variant of the Linked List, in which the first element points to the last element and the last element points to the first element.
- Stack data structure (Stack)

A stack is an abstract data structure (Abstract Data Type - ADT for short), mostly used in almost every programming language. Name the stack because it acts as a stack in real