Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ali-elshorpagi/data_structures
Data Structures in C++
https://github.com/ali-elshorpagi/data_structures
avl-tree binary-heap binary-search-tree binary-tree cpp data-structures doubly-linked-list hash-table problem-solving queue singly-linked-list stack template trie-tree vector
Last synced: about 5 hours ago
JSON representation
Data Structures in C++
- Host: GitHub
- URL: https://github.com/ali-elshorpagi/data_structures
- Owner: Ali-Elshorpagi
- Created: 2023-01-31T15:23:28.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-02-19T20:13:33.000Z (9 months ago)
- Last Synced: 2024-02-19T21:29:51.064Z (9 months ago)
- Topics: avl-tree, binary-heap, binary-search-tree, binary-tree, cpp, data-structures, doubly-linked-list, hash-table, problem-solving, queue, singly-linked-list, stack, template, trie-tree, vector
- Language: C++
- Homepage:
- Size: 7.47 MB
- Stars: 10
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Data Structures in `C++`
***Note :***
`main.cpp in this repo use an include file that needs to be compiled manually so`
`If you will use the main.cpp included in the repo so Use the command below to compile and run`
`you must compile the code in terminal manually to work````python
# to compile the file
$ g++ main.cpp -o main -D FILENAME # FILENAME is the file (specific data sturcture from include.h file) you want to use
# to run
$ ./main.exe
``````python
- All of these Data Structures were built using Templates
- Functions in README are the basic functions only
```
Hope you find this repository helpful, Have a nice time diving in
You can have a look to my Algorithms also## Table of Contents:
1. [Vector](#1)
1. [Singly LinkedList](#2)
1. [Doubly LinkedList](#3)
1. [Sparse Array Using LinkedList](#4)
1. [Sparse Matrix Using LinkedList](#5)
1. [Sparse Cube Using LinkedList](#6)
1. [Stack Array Based](#7)
1. [Stack LinkedList Based](#8)
1. [Circular Queue](#9)
1. [Queue LinkedList Based](#10)
1. [Deque](#11)
1. [Binary Tree](#12)
1. [Binary Search Tree ( Binary Node )](#13)
1. [Binary Search Tree](#14)
1. [Min Binary Heap](#15)
1. [Max Binary Heap](#16)
1. [AVL Tree ( Binary Node )](#17)
1. [AVL Tree](#18)
1. [Priority Queue Heap Based](#19)
1. [Priority Queue AVL Tree Based](#20)
1. [Trie Tree ( Letter )](#21)
1. [Hash Table](#22)## Contents:
- > [**Vector**](header/Vector.h)
- Push Back
- Insert
- Pop
- Rotate (Left - Right)
- Find
- Find Transposition
- > [**Singly LinkedList**](header/Singly_LinkedList.h)
- Insert (End - Front - After - Alternative)
- Search
- Delete (First - Last)
- > [**Doubly LinkedList**](header/Doubly_LinkedList.h)
- Insert (End - Front - Sorted)
- Delete (Front - End)
- Is Palindrom
- Middle Value
- > [**Sparse Array Using LinkedList**](header/Sparse_Array.h)
- Print Row
- Print Row Non zero
- > [**Sparse Matrix Using LinkedList**](header/Sparse_Matrix.h)
- Print Matrix
- Print Matrix Non zero
- > [**Sparse Cube Using LinkedList**](header/Sparse_Cube.h)
- Print Cube
- Print Cube Non zero
- > [**Stack Array Based**](header/Stack_Array_Based.h)
- Is Full
- Is Empty
- Push
- Pop
- Peek
- Reverse (Subwords - Num)
- Remove Adjacent Duplicates
- Reverse
- Insert at Bottom
- > [**Stack LinkedList Based**](header/Stack_LinkedList_Based.h)
- Push
- Pop
- Peek
- > [**Circular Queue**](header/Circular_Queue.h)
- Is Full
- Is Empty
- Next
- Enqueue
- Dequeue
- > [**Queue LinkedList Based**](header/Queue_LinkedList_Based.h)
- Is Empty
- Enqueue
- Dequeue
- > [**Deque**](header/Deque.h)
- Next
- Prev
- Enqueue (Rear - Front)
- Dequeue (Rear - Front)
- Is Empty
- Is Full
- > [**Binary Tree**](header/Binary_Tree.h)
- Print (Pre order - Post order - In order)
- Tree max
- Tree Height
- Is exists
- Is Perfect
- Traverse
- Level order Traversal
- Is Mirror
- Is symmetric
- Is Flip
- > [**Binary Search Tree ( Binary Node )**](header/Binary_Search_Tree_v2.h)
- Insert
- Search
- Level Order Traversal
- > [**Binary Search Tree**](header/Binary_Search_Tree.h)
- Insert
- Search
- Delete
- Get (In Order - Pre Order)
- > [**Min Binary Heap**](header/Min_Heap.h)
- Push
- Pop
- Is empty
- Heap Sort
- > [**Max Binary Heap**](header/Max_Heap.h)
- Push
- Pop
- Top
- Is Empty
- > [**AVL Tree ( Binary Node )**](header/AVL_Tree.h)
- Insert
- Search
- Delete
- Level Order Traversal
- Lower Bound
- Upper Bound
- Prefix Exist
- > [**AVL Tree**](header/AVL_Tree_v2.h)
- Insert
- Delete
- Level Order Traversal
- > [**Priority Queue Heap Based**](header/Priority_Queue_Heap_Based.h)
- Is Empty
- Enqueue
- Dequeue
- > [**Priority Queue AVL Tree Based**](header/Priority_Queue_AVLT_Based.h)
- Is Empty
- Enqueue
- Dequeue
- > [**Trie Tree ( Letter )**](header/Trie_Tree.h)
- Insert
- Word Exist
- Prefix Exist
- > [**Hash Table**](https://github.com/Ali-Elshorpagi/Data_Structures/tree/main/source/Hash_Table)
- Hash Table LinkedList Based ( Chaining Technique )
- Hash Table Vector Based ( Chaining Technique )
- Hash Table Vector Based ( Linear Probing Technique )
- Hash Table Vector Based ( Quadratic Probing Technique )