Ecosyste.ms: Awesome

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

https://github.com/priyankchheda/algorithms

Data Structure Libraries and Algorithms implementation
https://github.com/priyankchheda/algorithms

algorithm algorithm-library c cpp data-structures data-structures-algorithms go golang python3

Last synced: 11 days ago
JSON representation

Data Structure Libraries and Algorithms implementation

Lists

README

        

# Algorithms
Data Structure Libraries and Algorithms implementation in C++

**Disclaimer**

This repository is meant to be used as a reference to learn data structure and
algorithm.

## Algorithms in Other Languages
* [C](c_language/)
* [C++](cpp/)
* [Golang](golang/)

## Data structure
* [Array](array)
* [Find duplicates in array](array/duplicates_array.py)
* [Largest Rectangle in Histogram](array/largest_rectangle_histogram.py)
* [Largest Sum of Contiguous subarray within an array](array/largest_sum_subarray.py)
* [Inplace array reversal](array/reverse_array_inplace.py)
* [AVL Tree](avl_tree/avl_tree.py)
* [Binary Search Tree](binary_search_tree/library/binary_search_tree.py)
* [BFS Traversal](binary_search_tree/bfs_traversals.py)
* [Compare two BST](binary_search_tree/compare_two_bst.py)
* [DFS Traversal](binary_search_tree/dfs_traversals.py)
* [Is BST?](binary_search_tree/is_bst.py)
* [Lowest Common Ancestor](binary_search_tree/lowest_common_ancestor.py)
* [Binary Tree](binary_tree/)
* [Depth First Traversal](binary_tree/depth_first_traversal.py)
* [Level Order Traversal](binary_tree/level_order_traversal.py)
* [Lowest Common Ancestor](binary_tree/lowest_common_ancestor.py)
* [Top View](binary_tree/top_view.py)
* [Vertical Order Traversal](binary_tree/vertical_order_traversal.py)
* [Deque](deque/deque.py)
* [Dynamic Connectivity](dynamic_connectivity/)
* [Quick Find](dynamic_connectivity/quick_find.py)
* [Quick Union](dynamic_connectivity/quick_union.py)
* [Weighted Quick Union](dynamic_connectivity/weighted_quick_union.py)
* [Graph](graph/library/graph.py)
* [Bellman Ford Algorithm](graph/bellman_ford_algorithm.py)
* [Breadth First Search](graph/breadth_first_search.py)
* [Connected Componenets](graph/connected_components.py)
* [Depth First Search](graph/depth_first_search.py)
* [Dijkstra Algorithm](graph/dijkstra_algorithm.py)
* [Kosaraju Algorithm](graph/kosaraju_algorithm.py)
* [Kruskal Algorithm](graph/kruskal_algorithm.py)
* [Prim Algorithm](graph/prim_algorithm.py)
* [Topological Sort](graph/topological_sort.py)
* [Hash Table](hashtable/)
* [Linear Probing](hashtable/linear_probing.py)
* [Separate Chaining](hashtable/separate_chaining.py)
* [Linked List](linked_list/)
* [Singly Linked List](linked_list/library/linked_list.py)
* [Find Middle Node](linked_list/find_middle_node.py)
* [Is Palindrome?](linked_list/is_palindrome.py)
* [Merge Two Sorted Linked List](linked_list/merge_two_sorted_list.py)
* [Node Swap](linked_list/node_swap.py)
* [Remove duplicates from Singly Linked List](linked_list/remove_duplicates_singly.py)
* [Return nth element from last node](linked_list/nth_to_last_node.py)
* [Reverse Singly Linked List](linked_list/reverse_singly_list.py)
* [Rotate](linked_list/rotate.py)
* [Sum of two lists](linked_list/sum_two_lists.py)
* [Doubly Linked List](linked_list/library/doubly_linked_list.py)
* [Remove duplicates from Doubly Linked List](linked_list/remove_duplicates_doubly.py)
* [Reverse Doubly Linked List](linked_list/reverse_doubly_list.py)
* [Circular Linked List](linked_list/library/circular_linked_list.py)
* [Is Circular?](linked_list/is_circular.py)
* [Josephus Circle](linked_list/josephus_circle.py)
* [Split Circular Lists](linked_list/split_circular_lists.py)
* [Miscellaneous](misc/)
* [Anagram](misc/anagram.py)
* [Integer Reversion](misc/integer_reversion.py)
* [Palindrome Check](misc/palindrome_check.py)
* [Priority Queue/Binary Heap](priority_queue/)
* [Min Heap](priority_queue/minheap.py)
* [Max Heap](priority_queue/maxheap.py)
* [Queue](queue/library/queue.py)
* [Red Black Tree](red_black_tree/red_black_tree.py)
* [Binary Search](search/binary_search.py)
* [Shuffle using Fisher-Yates (Knuth) shuffling algorithm](shuffle/shuffle.py)
* [Sorting Algorithms](sort/)
* [Bubble Sort](sort/bubble.py)
* [Gnome Sort](sort/gnome.py)
* [Insertion Sort](sort/insertion.py)
* [Merge Sort](sort/merge.py)
* [Odd Even Sort](sort/oddeven.py)
* [Quick Sort](sort/quick.py)
* [Selection Sort](sort/selection.py)
* [Shell Sort](sort/shell.py)
* [Stack](stack/library/stack.py)
* [Balanced Paranthesis](stack/balanced_parenthesis.py)
* [Track Current Minimum](stack/getmin_special_stack.py)
* [Integer to Binary](stack/integer_to_binary.py)
* [Queue using Stack](stack/queue_using_stack.py)
* [Two Stack in an Array](stack/two_stack_in_an_array.py)
* [Ternary Search Tries](ternary_search_tries/ternary_search_tries.py)
* [Tree](tree/library/tree.py)
* [Trie](trie/trie.py)

## TO DO
* Vertical Order Traversal of Tree
* Order Statistics of Tree
* Red Black Tree
* Deque using circular array
* Tree Varient
* Graph Varient
* [cocktail sort](https://en.wikipedia.org/wiki/Cocktail_shaker_sort)
* [comb sort](https://en.wikipedia.org/wiki/Comb_sort)

## Contribution
Feel Free to contribute.

Please follow standard C++ Guidelines.