Data-Structures

Implementation tree

Data Structures
├── Graph Programs
│   ├── adjacency_list.hpp       # graph implementation with adjacency list
│   └── adjacency_matrix.hpp     # graph implementation with adjacency matrix
│   └── topological_sort.hpp     # topological sort (adjacency list)
├── Heap Programs
│   └── HEAP.cpp                 # heap implementation
├── Linked List Programs
│   ├── DOUBLY_LINKED_LIST.cpp                  # doubly linked list 
│   └── SINGLY_LINKED_LIST.cpp                   # singly linked list
├── Queue Programs
│   └── QUEUE.cpp                # queue implementation
├── Sorting Programs
│   ├── BUBBLE_SORT.cpp               # bubble sort
│   ├── INSERTION_SORT.cpp            # insertion sort
│   ├── MERGE_SORT.cpp                # merge sort
│   ├── QUICK_SORT.cpp                # quick sort
│   └── SELECTION_SORT.cpp            # selection sort
├── Searching Programs
│   ├── LINEAR_SEARCH.cpp               # Linear search
│   ├── BINARY_SEARCH.cpp            # Binary search
├── Stack Programs
│   └── Stack.cpp                # stack implementation
└── Tree Programs
    ├── TREE.cpp                  # general tree implementation
    ├── SEGMENT_TREE.cpp         # segment tree implementation
    └── BINARY_SEARCH_TREE.cpp                 # binary search tree