Skip to content

Welcome to Data Structures and Algorithms! This repository is designed to help you understand and implement common algorithms in Python, using beautiful, easy-to-understand visualizations

Notifications You must be signed in to change notification settings

rochiekop/data-structures-algorithms

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 

Repository files navigation

Data Structures and Algorithms 📚🖼️

Algorithms Banner

Image Resources : GeeksforGeeks: Data Structures and Algorithms

Welcome to Data Structures and Algorithms! This repository is designed to help you understand and implement common algorithms in Python, using beautiful, easy-to-understand visualizations. Whether you're a beginner or looking to deepen your understanding, you'll find resources here to make learning algorithms easier and more intuitive.

Table of Contents

Introduction

Understanding algorithms is a crucial part of becoming a proficient programmer. This repository aims to demystify algorithms by providing clear explanations, Python implementations, and beautiful visualizations that make learning engaging and fun. Our goal is to help you Learn It Easy, Better, and Well.

In this playground will use this book:

Algorithms Covered

Here's a list of the algorithms and data structures covered in this repository:

Linear Tables

  1. Linear Table Definition
  2. Maximum Value
  3. Bubble Sorting Algorithm
  4. Minimum Value
  5. Select Sorting Algorithm
  6. Linear Table Append
  7. Linear Table Insert
  8. Linear Table Delete
  9. Insert Sorting Algorithm
  10. Reverse Array
  11. Linear Table Search
  12. Dichotomy Binary Search
  13. Shell Sorting

Linked Lists

  1. Unidirectional Linked List
    • 14.1 Create and Traversal
    • 14.2 Add Node
    • 14.3 Insert Node
    • 14.4 Delete Node
  2. Doubly Linked List
    • 15.1 Create and Traversal
    • 15.2 Add Node
    • 15.3 Insert Node
    • 15.4 Delete Node
  3. One-way Circular LinkedList
    • 16.1 Initialization and Traversal
    • 16.2 Insert Node
    • 16.3 Delete Node
  4. Two-way Circular LinkedList
    • 17.1 Initialization and Traversal
    • 17.2 Insert Node
    • 17.3 Delete Node

Stacks and Queues

  1. Queue
  2. Stack

Recursion and Sorting

  1. Recursive Algorithm
  2. Two-way Merge Algorithm
  3. Quick Sort Algorithm

Trees and Graphs

  1. Binary Search Tree
    • 23.1 Construct a binary search tree
    • 23.2 Binary search tree In-order traversal
    • 23.3 Binary search tree Pre-order traversal
    • 23.4 Binary search tree Post-order traversal
    • 23.5 Binary search tree Maximum and minimum
    • 23.6 Binary search tree Delete Node
  2. Binary Heap Sorting
  3. Hash Table
  4. Graph
    • 26.1 Directed Graph and Depth-First Search
    • 26.2 Directed Graph and Breadth-First Search
    • 26.3 Directed Graph Topological Sorting

Classic Algorithms

  1. Towers of Hanoi
  2. Fibonacci
  3. Dijkstra
  4. Mouse Walking Maze
  5. Eight Coins
  6. Knapsack Problem
  7. Josephus Problem

Getting Started

To get started with this repository:

  1. Clone the repository:
    git clone https://github.com/rochiekop/data-structures-algorithms

About

Welcome to Data Structures and Algorithms! This repository is designed to help you understand and implement common algorithms in Python, using beautiful, easy-to-understand visualizations

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published