softwareVirus / data-structures-algorithms

Data Structures & Algorithms

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Data Structure & Algorithms

Implementation of various data structures and algorithms in different programming languages: the main target is assimilating the general perspective of each data structure and algorithm.

Data structures start with elementary topics such as linked lists, stacks, and queues, then continue with complex structures. The list below shows each topic. Data Structures

Algorithms start with divide and conquer and continue with sorting, matching, graphs, etc. The list below shows each topic. Algorithms

Data Structures

  • Elementary Data Structures
    • Array list
    • Linked lists
    • Stack & Queues
    • Implementing pointers and objects
    • Representing rooted trees
  • Binary Search Trees
  • Hash Tables
  • Advanced Data Structures
    • B-Trees
    • Fibonacci Heaps
    • van Emde Boas Trees
    • Disjoint Sets

Algorithms

  • Divide and Conquer
  • Sorting and Order
    • Insertion sort
    • bubble sort
    • Shellsort
    • Radix sort
    • Heapsort
    • Merge sort
    • Quicksort
  • Medians and Order Statistics
  • Matching Algorithms
  • Graph Algorithms
    • Elementary Graph Algorithms
      • Breadth-first search
      • Depth-first search
      • Topological sort
    • Minimum Spanning Trees
    • Single-Source shortest path
    • All-Pairs shortest path
    • Maximum flow

While preparing this repo, the books and sources given below were used as the main sources.

Books

  • Introction to Algorithmis, Third Edition. Thomas H.Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein.
  • Analysis of Algorithms - An Active Learning Approach, Second Edition. Jeffrey J. McConnell
  • Data Structures and Algorithms in Java, Michael T. Goodrich, Roberto Tamassia, Michael H. Goldwasser

Resources

About

Data Structures & Algorithms


Languages

Language:C 32.5%Language:Java 27.3%Language:TypeScript 27.2%Language:Go 13.0%