项目作者: rajeevranjancom

项目描述 :
DataStructure and Algorithms Program and Notes
高级语言: C++
项目地址: git://github.com/rajeevranjancom/DataStructure_and_Algorithms.git
创建时间: 2020-09-15T09:13:41Z
项目社区:https://github.com/rajeevranjancom/DataStructure_and_Algorithms

开源协议:GNU General Public License v3.0

下载


DataStructure-and-Algorithms

Topics:

Array
Linked List
Stack
Queue
Binary Tree
Binary Search Tree
Heap
Hashing
Graph
Matrix
Misc
Advanced Data Structure

Singly Linked List:

Introduction to Linked List
Linked List vs Array
Linked List Insertion
Linked List Deletion (Deleting a given key)
Linked List Deletion (Deleting a key at given position)
A Programmer’s approach of looking at Array vs. Linked List
Find Length of a Linked List (Iterative and Recursive)
How to write C functions that modify head pointer of a Linked List?
Swap nodes in a linked list without swapping data
Reverse a linked list
Merge two sorted linked lists
Merge Sort for Linked Lists
Reverse a Linked List in groups of given size
Detect and Remove Loop in a Linked List
Add two numbers represented by linked lists | Set 1
Rotate a Linked List
Generic Linked List in C
Circular Linked List:

Circular Linked List Introduction and Applications,
Circular Singly Linked List Insertion<
Circular Linked List Traversal
Split a Circular Linked List into two halves
Sorted insert for circular linked list
Doubly Linked List:

Doubly Linked List Introduction and Insertion
Delete a node in a Doubly Linked List
Reverse a Doubly Linked List
The Great Tree-List Recursion Problem.
QuickSort on Doubly Linked List
Merge Sort for Doubly Linked List
All Articles of Linked List
Quiz on Linked List
Coding Practice on Linked List
Recent Articles on Linked List

Stack:

Introduction to Stack
Infix to Postfix Conversion using Stack
Evaluation of Postfix Expression
Reverse a String using Stack
Implement two stacks in an array
Check for balanced parentheses in an expression
Next Greater Element
Reverse a stack using recursion
Sort a stack using recursion
The Stock Span Problem
Design and Implement Special Stack Data Structure
Implement Stack using Queues
Design a stack with operations on middle element
How to efficiently implement k stacks in a single array?
Sort a stack using recursion
Quiz on Stack
All Articles on Stack
Coding Practice on Stack
Recent Articles on Stack

Queue:

Queue Introduction and Array Implementation
Linked List Implementation of Queue
Applications of Queue Data Structure
Priority Queue Introduction
Deque (Introduction and Applications)
Implementation of Deque using circular array
Implement Queue using Stacks
Find the first circular tour that visits all petrol pumps
Maximum of all subarrays of size k
An Interesting Method to Generate Binary Numbers from 1 to n
How to efficiently implement k Queues in a single array?
Quiz on Queue
All Articles on Queue
Coding Practice on Queue
Recent Articles on Queue

Binary Tree:

Binary Tree Introduction
Binary Tree Properties
Types of Binary Tree
Handshaking Lemma and Interesting Tree Properties
Enumeration of Binary Tree
Applications of tree data structure
Tree Traversals
BFS vs DFS for Binary Tree
Level Order Tree Traversal
Diameter of a Binary Tree
Inorder Tree Traversal without Recursion
Inorder Tree Traversal without recursion and without stack!
Threaded Binary Tree
Maximum Depth or Height of a Tree
If you are given two traversal sequences, can you construct the binary tree?
Clone a Binary Tree with Random Pointers
Construct Tree from given Inorder and Preorder traversals
Maximum width of a binary tree
Print nodes at k distance from root
Print Ancestors of a given node in Binary Tree
Check if a binary tree is subtree of another binary tree
Connect nodes at same level
Quiz on Binary Tree
Quiz on Binary Tree Traversals
All articles on Binary Tree
Coding Practice on Binary Tree
Recent Articles on Tree

Binary Search Tree:

Search and Insert in BST
Deletion from BST
Minimum value in a Binary Search Tree
Inorder predecessor and successor for a given key in BST
Check if a binary tree is BST or not
Lowest Common Ancestor in a Binary Search Tree.
Inorder Successor in Binary Search Tree
Find k-th smallest element in BST (Order Statistics in BST)
Merge two BSTs with limited extra space
Two nodes of a BST are swapped, correct the BST
Floor and Ceil from a BST
In-place conversion of Sorted DLL to Balanced BST
Find a pair with given sum in a Balanced BST
Total number of possible Binary Search Trees with n keys
Merge Two Balanced Binary Search Trees
Binary Tree to Binary Search Tree Conversion
Quiz on Binary Search Trees
Quiz on Balanced Binary Search Trees
All Articles on Binary Search Tree
Coding Practice on Binary Search Tree
Recent Articles on BST

Heap:

Binary Heap
Why is Binary Heap Preferred over BST for Priority Queue?
Binomial Heap
Fibonacci Heap
Heap Sort
K’th Largest Element in an array
Sort an almost sorted array/
Tournament Tree (Winner Tree) and Binary Heap
All Articles on Heap
Quiz on Heap
Coding Practice on Heap
Recent Articles on Heap

Hashing:

Hashing Introduction
Separate Chaining for Collision Handling
Open Addressing for Collision Handling
Print a Binary Tree in Vertical Order
Find whether an array is subset of another array
Union and Intersection of two Linked Lists
Find a pair with given sum
Check if a given array contains duplicate elements within k distance from each other
Find Itinerary from a given list of tickets
Find number of Employees Under every Employee
Quiz on Hashing
All Articles on Hashing
Coding Practice on Hashing
Recent Articles on Hashing

Graph:

Introduction, DFS and BFS:

Graph and its representations
Breadth First Traversal for a Graph
Depth First Traversal for a Graph
Applications of Depth First Search
Applications of Breadth First Traversal
Detect Cycle in a Directed Graph
Detect Cycle in a an Undirected Graph
Detect cycle in an undirected graph
Longest Path in a Directed Acyclic Graph
Topological Sorting
Check whether a given graph is Bipartite or not
Snake and Ladder Problem
Minimize Cash Flow among a given set of friends who have borrowed money from each other
Boggle (Find all possible words in a board of characters)
Assign directions to edges so that the directed graph remains acyclic
All Articles on Graph Data Structure
Quiz on Graph
Quiz on Graph Traversals
Quiz on Graph Shortest Paths
Quiz on Graph Minimum Spanning Tree
Coding Practice on Graph
Recent Articles on Graph

Advanced Data Structure:

Advanced Lists:

Memory efficient doubly linked list
XOR Linked List – A Memory Efficient Doubly Linked List | Set 1
XOR Linked List – A Memory Efficient Doubly Linked List | Set 2
Skip List | Set 1 (Introduction)
Self Organizing List | Set 1 (Introduction)
Unrolled Linked List | Set 1 (Introduction)
Segment Tree:

Segment Tree | Set 1 (Sum of given range)
Segment Tree | Set 2 (Range Minimum Query)
Lazy Propagation in Segment Tree
Persistent Segment Tree | Set 1 (Introduction)
All articles on Segment Tree
Trie:

Trie | (Insert and Search)
Trie | (Delete)
Longest prefix matching – A Trie based solution in Java
Print unique rows in a given boolean matrix
How to Implement Reverse DNS Look Up Cache?
How to Implement Forward DNS Look Up Cache?
All Articles on Trie
Binary Indexed Tree:

Binary Indexed Tree
Two Dimensional Binary Indexed Tree or Fenwick Tree
Binary Indexed Tree : Range Updates and Point Queries
Binary Indexed Tree : Range Update and Range Queries
All Articles on Binary Indexed Tree
Suffix Array and Suffix Tree:

Suffix Array Introduction
Suffix Array nLogn Algorithm
kasai’s Algorithm for Construction of LCP array from Suffix Array
Suffix Tree Introduction
Ukkonen’s Suffix Tree Construction – Part 1
Ukkonen’s Suffix Tree Construction – Part 2
Ukkonen’s Suffix Tree Construction – Part 3
Ukkonen’s Suffix Tree Construction – Part 4,
Ukkonen’s Suffix Tree Construction – Part 5
Ukkonen’s Suffix Tree Construction – Part 6
Generalized Suffix Tree
Build Linear Time Suffix Array using Suffix Tree
Substring Check
Searching All Patterns
Longest Repeated Substring,
Longest Common Substring, Longest Palindromic Substring

10.1 67. Count SumLinked List_1647738310967.pdf.pdf
12.1 34. BinarySearch_1647738310984.pdf.pdf
15.1 70. Search LL_1647738311012.pdf.pdf
16.1 37. Get Set_1647738311030.pdf.pdf
17.1 73. Insert in LL_1647738311059.pdf.pdf
20.1 146. Tree_1647738311089.pdf.pdf
21.1 142. TreeCpp_1647738311106.pdf.pdf
21.1 74. Create LL using Insert_1647738311130.pdf.pdf
21.1 74. SortedInsert LL_1647738311133.pdf.pdf
25.1 41. Array Menu C_1647738311172.pdf.pdf
26.1 41.1 Array C++ class_1647738311197.pdf.pdf
26.1 Tree Traversals Iterative_1647738311226.pdf.pdf
27.1 41.1 Array C++ #2_1647738311248.pdf.pdf
28.1 Tree Level Order Traversal_1647738311252.pdf.pdf
32.1 Tree Count and Height_1647738311255.pdf.pdf
34.1 74. Merge LL_1647738311270.pdf.pdf
36.1 74. isLoop LL_1647738311299.pdf.pdf
37.1 84. LinkedList CPP_1647738311347.pdf.pdf
4.1 29. Insert_1647738311385.pdf.pdf
44.1 88. Circluar Linked List_1647738311437.pdf.pdf
5.1 66. Create and Display LL_1647738311476.pdf.pdf
52.1 91. Doubly Linked List_1647738311494.pdf.pdf
6.1 30 Delete_1647738311518.pdf.pdf
7.1 66. Create and Display LL_1647738311520.pdf.pdf
9.1 32. LinearSearch_1647738311524.pdf.pdf
Array_data_structure_1647738311590.pdf
Array_slicing_1647738311674.pdf
Bit_array_1647738311777.pdf
Dynamic_array_1647738311859.pdf
Offset_(computer_science)_1647738311911.pdf
Parallel_array_1647738312006.pdf
Row-_and_column-major_order_1647738312079.pdf
Stride_of_an_array_1647738312175.pdf
Variable-length_array_1647738312229.pdf
DSA_1647738312282.pdf
Abstract_data_type_1647738312328.pdf
Composite_data_type_1647738312376.pdf
Primitive_data_type_1647738312438.pdf
Hash_table_1647738312517.pdf
Doubly_linked_list_1647738312623.pdf
Linked_list_1647738312714.pdf
Lightmap_1647738312803.pdf
Luleå_algorithm_1647738312864.pdf
Routing_table_1647738313208.pdf
Symbol_table_1647738313379.pdf
Winged_edge_1647738313517.pdf
new_1647738313622.pdf
10.1 67. Count SumLinked List_1647738313664.pdf.pdf
12.1 34. BinarySearch_1647738313690.pdf.pdf
12.1 69. Max LL_1647738313693.pdf.pdf
15.1 70. Search LL_1647738313697.pdf.pdf
16.1 37. Get Set_1647738313700.pdf.pdf
17.1 73. Insert in LL_1647738313703.pdf.pdf
18.1 38. Reverse Array_1647738313706.pdf.pdf
20.1 146. Tree_1647738313731.pdf.pdf
20.1 39. isSorted_1647738313734.pdf.pdf
21.1 142. TreeCpp_1647738313738.pdf.pdf
21.1 74. Create LL using Insert_1647738313740.pdf.pdf
21.1 74. SortedInsert LL_1647738313743.pdf.pdf
21.2 74. Create LL using Insert_1647738313747.pdf.pdf
21.2 74. SortedInsert LL_1647738313749.pdf.pdf
22.1 40 Merge 2_1647738313752.pdf.pdf
23.1 74. Deleteing LL_1647738313793.pdf.pdf
24.1 41. Set Operations_1647738313836.pdf.pdf
25.1 41. Array Menu C_1647738313886.pdf.pdf
25.1 74. isSorted LL_1647738313889.pdf.pdf
26.1 41.1 Array C++ class_1647738313905.pdf.pdf
26.1 Tree Traversals Iterative_1647738313909.pdf.pdf
27.1 41.1 Array C++ #2_1647738313911.pdf.pdf
27.1 74. Remove Duplicate LL_1647738313915.pdf.pdf
28.1 Tree Level Order Traversal_1647738313940.pdf.pdf
31.1 74. Reverse LL_1647738313943.pdf.pdf
32.1 Tree Count and Height_1647738313963.pdf.pdf
34.1 74. Merge LL_1647738313967.pdf.pdf
36.1 74. isLoop LL_1647738313970.pdf.pdf
37.1 84. LinkedList CPP_1647738313973.pdf.pdf
4.1 29. Insert_1647738313977.pdf.pdf
44.1 88. Circluar Linked List_1647738313979.pdf.pdf
5.1 158. AVL #2_1647738313983.pdf.pdf
5.1 66. Create and Display LL_1647738313995.pdf.pdf
52.1 91. Doubly Linked List_1647738313998.pdf.pdf
6.1 30 Delete_1647738314003.pdf.pdf
6.1 BST Insert Search_1647738314005.pdf.pdf
7.1 66. Create and Display LL_1647738314009.pdf.pdf
8.1 154. BST Insert Delete_1647738314012.pdf.pdf
9.1 32. LinearSearch_1647738314063.pdf.pdf
Double-ended_queue_1647738314096.pdf
FIFO_(computing_and_electronics)_1647738314151.pdf
List_of_data_structures_1647738314197.pdf
Stack-based_memory_allocation_1647738314285.pdf
Stack_(abstract_data_type)_1647738314398.pdf