# Data-Structures-and-Algorithms **Repository Path**: yiluxiangwan/Data-Structures-and-Algorithms ## Basic Information - **Project Name**: Data-Structures-and-Algorithms - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-03-15 - **Last Updated**: 2024-03-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # DataStructures and Algorithms in C/C++ This code is written by Amit Bansal while learning Data structures and algorithms. References GFG, NPTEL, CLRS. This repository contains: ========================= Singly Linked List. ----------------         Add Two Numbers Represented By Linked List.
        Bubble Sort in Linked List
        Merge Sort in Linked List
        Merge Sorted Linked List
        Reverse a singly Linked List with or without using stack
Doubly Linked List. ---------------- Circular Linked List. ----------------         Sorted Insert
Stack using array and Linked List. -------------------------------- Queue using array and Linked List. ---------------------------------------- Priority Queue. ---------------- Sorting: --------         Bubble Sort
        Heap Sort
        Insertion Sort
        Merge Sort
        Quick Sort
        Selection Sort
Binary Search Tree ----------------         Insertion
        Deletion
        Preorder traversal
        Inorder traversal
        Postorder traversal
        Level order traversal
        Find Height of a Binary Search Tree
        Check if a Tree is Binary Search Tree or not(2 methods)
        Find Max and Min element in Binary Search Tree
AVL trees --------         a.Insertion
        b.Deletion
Red Black Trees --------         Insertion
        Deletion
Tries --------         Insert
        Delete
        Search
Graphs --------         Breadth First Search
        Depth Search Search
        Kosaraju's algorithm for strongly connected components
        Dijkstra's algorithm for single source shortest paths
        A* Search Algorithm
        Kruskal’s Minimum Spanning Tree Algorithm
        Topological Sorting
        Prims algorithm for minimum spanning tree using STL
        Floyd Warshall Algorithm for all pairs shortest paths
        Bellmanford algorithm for single source shortest path and negative edge cycle detection
        Detect a cycle using DFS
        Sortest Paths using Breadth First Search
        Check if an undirected Graph is eulerian.
        Find diameter of a tree using BFS
        Check if a graph is Bipartite using BFS
        Longest path in a directed acyclic graph
Flow Networks ------------         Ford-Fulkerson Algorithm for Maximum Flow
Greedy Algorithms ----------------         Activity Selection Problem.
        Kruskal’s Minimum Spanning Tree Algorithm
        Dijkstra's algorithm for single source shortest paths
        Minimize Lateness problem
        Huffman Coding
Dynamic Programming ----------------         Boolean Parenthesization Problem
        Edit Distance
        Knapsack problem with repetitions
        Knapsack Problem
        Longest Increasing Subsequence
        Maximum Value Contiguous Subsequence
        Optimal Strategy for a Game
        Optimal binary search trees
        RNA Secondary structure
        Rod Cutting
        Balanced Partition
        Box stacking
        Building Bridges
        Fibonnaci Numbers
        Longest increasing subsequence
        Maximum Value Contiguous Subsequence
        Subset Sum Problem
        Coin Changing Problem
Backtracking -------------         Alphacode: All possible codes that an integer string can generate
        String Permutation Algorithm
        Find Power Set of a set
Segment Tree -------------         Range Minimum Query
        Range Sum Query