Code Monkey home page Code Monkey logo

data-structures-and-algorithms's Introduction

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

data-structures-and-algorithms's People

Contributors

amitbansal7 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.