Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/saddamarbaa/data-structures-and-algorithms

==> I made this repository to post my code and document my progress while Learning data structures and algorithms concepts in this repository, I covered the complete data structures and algorithms
https://github.com/saddamarbaa/data-structures-and-algorithms

array binary-tree c graph hash-tables java javascript leetcode python typescript

Last synced: 3 months ago
JSON representation

==> I made this repository to post my code and document my progress while Learning data structures and algorithms concepts in this repository, I covered the complete data structures and algorithms

Awesome Lists containing this project

README

        

# Data Structures & Algorithms

I made this repository to post my code and document my progress while Learning Data Structures and Algorithms Concepts

## Recommended Books for the Course and Reference Source

1. Introduction to Algorithms, 3rd Edition by thomas h. cormen

2. Introduction to Algorithms, 2rd Edition by thomas h. cormen

3. Data Structures Through C In Depth By. Sk Srivastava

# Data Structures AND Algorithms Include

# DSA Introduction

Asymptotic Analysis

Asymptotic Notations

Theta Notation (Θ-notation)

Big-O Notation (O-notation)

Omega Notation (Ω-notation)

Master Theorem

Divide and Conquer Algorithm

# Arrays Data Structure

A one-dimensional array (or single dimension array)

Two-dimensional Arrays

Multi-dimensional Arrays

# Linked List Data Structure

Singly Linked List

Doubly Linked List

Circular linked list

Doubly Circular Linked List

# Stack Data Structure

Stack Data Structure Array Implementation

Stack Data Structure linked list Implementation

# Infix Prefix & Postfix Expressions in Data Structures

Infix to Postfix Expression using STACK Data Structure

Infix to Prefix Expression using Stack Data Structure

Pretfix to Infix Expression using STACK Data Structure

Postfix to Prefix Expression using STACK Data Structure

Prefix to Postfix Expression using STACK Data Structure

# Queue Data Structure

Queue Data Structure Array Implementation (FIFO)

Queue Data Structure linked list Implementation(FIFO)

Queue Data Structure Stack Implementation (FIFO)

Circular Queue Data Structure Array Implementation

Circular Queue Data Structure linkedlist Implementation

Deque (Double Ended Queue)

Double Ended Queue Circular Array Implementation

# Priority Queue

A priority Queue Implementation Using A Min-Heap

A priority Queue Implementation Using A Max-Heap

# Disjoint Set Union

Path compression
Union by Rank

# Sorting Algorithms

Bubble Sort Algorithm

Selection Sort Algorithm

Insertion Sort Algorithm

Merge Sort Algorithm

Quicksort Algorithm

Counting Sort Algorithm

Radix Sort Algorithm

Bucket Sort Algorithm

Shell Sort Algorithm

Heap Sort Algorithm

A Min-Heap Sort Algorithm

A Max-Heap Sort Algorithm

Graph Topological Sort

# TODO ON (Sorting Algorithms)

Bitonic Sort
Cocktail Sort
Cycle Sort
Gnome Sort
LSDRadix Sort Algorithm
Postman Sort
Tim-sort
pigeonhole-sort
COMB SORT

# Searching Algorithms

Linear Search

Binary Search

# Hashing

Direct Address Table

Hash Table and Hash Function Array Implementation

Hash Tables Separate Chaining With Doubly Linked Lists

Hash Table Separate Chaining With Singly Linked Lists

Hash Table with Chaining (Dictionary Speller Checker )

Hash Table Implementation with Linear Probing (Hashing)

Hash Table Implementation with Quadratic Probing

Hash Table Implementation with Double Hashing


# TODO ON (Hashing)

Cryptographic Hashing

# Tree Based Data Structure(1)

# Tree Data Structure

Tree Traversal - inorder, preorder and postorder

Binary Tree

Full Binary Tree

Perfect Binary Tree

Complete Binary Tree

Balanced Binary Tree

Binary Search Tree(BST)

AVL Tree

# Tree Based Data Structure(2)

# Red-Black Tree

Insertion in a Red-Black Tree

Deletion From a Red-Black Tree

# Splay Tree

Insertion in Splay Tree

Deletion From Splay Tree (Top Down Splaying)

Deletion From Splay Tree (Bottom-up Splaying)

# B-tree

Insertion into a B-tree(CODE TODO)

Deletion from a B-tree (CODE TODO)

# B+ Tree

Insertion on a B+ Tree (CODE TODO)

Insertion on a B+ Tree (CODE TODO)

# Graph Based Data Structure

Graph Data Stucture

Graph Adjacency list Representation

Graph Adjacency Matrix Representation

Depth First Search Implementation (DFS Algorithm)

Breadth first Search Implementation (BFS Algorithm)

Spanning Tree and Minimum Spanning Tree

Topological Sorting

Types of edges in DFS | Edge classification

Strongly Connected Components (CODE TODO)

# TODO ON (Graph Based Data Structure)

Bellman Ford's Algorithm

Detect Cycle in Directed Graph

Detect Cycle in Undirected Graph

# Greedy Algorithms

Kruskal's Algorithm

Prim's Algorithm

# TODO ON (Greedy Algorithms)

Ford-Fulkerson Algorithm

Dijkstra's Algorithm

Huffman Coding

# Dynamic Programming

Coin Change Problem Number
Coin Change Problem: Minimum number of coins Dynamic Programming

# TODO ON (Dynamic Programming)

Floyd-Warshall Algorithm

Longest Common Subsequence

Traveling Salesman Problem using Dynamic Programming

0/1 knapsack problem-Dynamic Programming

Fractional Knapsack Problem using Greedy Method

Subset Sum Problem using Dynamic Programming

# Algorithms TODO

Backtracking Algorithm

Rabin-Karp Algorithm

# Algorithms Specialization Offered By Princeton University on coursera

Algorithms, Part I

https://www.coursera.org/learn/algorithms-part1

Algorithms, Part II

https://www.coursera.org/learn/algorithms-part2

# Algorithms Specialization Offered By Stanford University on coursera

https://www.coursera.org/specializations/algorithms

Divide and Conquer, Sorting and Searching, and Randomized Algorithms

https://www.coursera.org/learn/algorithms-divide-conquer

Graph Search, Shortest Paths, and Data Structures

https://www.coursera.org/learn/algorithms-graphs-data-structures

Greedy Algorithms, Minimum Spanning Trees, and Dynamic Programming

https://www.coursera.org/learn/algorithms-greedy

Shortest Paths Revisited, NP-Complete Problems and What To Do About Them

https://www.coursera.org/learn/algorithms-npcomplete