Skip to content

Latest commit

 

History

History
77 lines (55 loc) · 2.8 KB

README.md

File metadata and controls

77 lines (55 loc) · 2.8 KB

Algorithm and Data Structure Implementations

Welcome to the Algorithm and Data Structure repository! This repository is dedicated to providing clean, efficient, and well-documented implementations of various algorithms and data structures in multiple programming languages. It serves as a reference for students, developers, and enthusiasts interested in learning the intricacies of computer science fundamentals and improving their problem-solving skills.

Table of Contents


Introduction

This repository aims to help developers and learners dive deeper into the world of algorithms and data structures by offering intuitive, hands-on implementations. Each algorithm and data structure is implemented with a focus on readability, efficiency, and performance. Whether you're preparing for technical interviews, learning for academic purposes, or just expanding your programming knowledge, this repo is a valuable resource.

Languages:

  • C
  • Go
  • Haskell
  • Julia
  • JavaScript
  • Julia
  • Python
  • Ruby

What You'll Find

Data Structures

Explore a variety of common and advanced data structures that form the foundation of efficient software systems. Each data structure is implemented with detailed explanations of its time and space complexities.

  • Arrays
  • Linked Lists (Singly, Doubly, Circular)
  • Stacks
  • Queues (Standard, Circular, Priority)
  • Hash Tables
  • Binary Search Trees
  • Heaps (Min Heap, Max Heap)
  • Graphs (Adjacency List, Matrix)
  • Tries (Prefix Trees)
  • Merkle Tree

Algorithms

The algorithms in this repository cover a broad range of categories, from sorting and searching to more advanced concepts like dynamic programming and graph traversal.

  • Sorting Algorithms
    • Quick Sort, Merge Sort, Heap Sort, Bubble Sort, Insertion Sort, etc.
  • Searching Algorithms
    • Binary Search, Linear Search, etc.
  • Graph Algorithms
    • Depth-First Search (DFS), Breadth-First Search (BFS), Dijkstra’s Algorithm, Kruskal’s Algorithm, etc.
  • Dynamic Programming
    • Fibonacci, Longest Common Subsequence, Knapsack Problem, etc.
  • Greedy Algorithms
    • Activity Selection, Huffman Coding, etc.
  • Backtracking
    • N-Queens, Sudoku Solver, etc.
  • Divide and Conquer
    • Matrix Multiplication, Closest Pair of Points, etc.
  • Mathematical Algorithms
    • Prime Number Generation (Sieve of Eratosthenes), Greatest Common Divisor (GCD), etc.