Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

12 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🧠 Data Structures in Python

This repository contains implementations of classic data structures in Python, including lists, stacks, queues, trees, and graphs.
It's designed as a personal reference and educational toolkit, with clean modular code and unit tests for each structure.

βš™οΈ Built from scratch without external libraries β€” focused on core logic and algorithmic clarity.


πŸ“¦ Project Structure

data_structures/
β”œβ”€β”€ graphs/
β”‚   β”œβ”€β”€ directed_graph.py
β”‚   └── flow_network.py
β”œβ”€β”€ lists/
β”‚   β”œβ”€β”€ single_linked_list.py
β”‚   └── doubly_linked_list.py
β”œβ”€β”€ stacks_and_queues/
β”‚   β”œβ”€β”€ stack.py
β”‚   β”œβ”€β”€ queue.py
β”‚   └── deque.py
└── trees/
    β”œβ”€β”€ binary_tree.py
    └── binary_search_tree.py

tests/
β”œβ”€β”€ test_lists/
β”œβ”€β”€ tests_stacks_and_queues/
β”œβ”€β”€ tests_trees/
└── tests_graphs/

Each folder has its corresponding test suite under the /tests directory, organized by category.


βœ… Implemented Structures

Category Structures
Lists Singly Linked List, Doubly Linked List
Stacks & Queues Stack (LIFO), Queue (FIFO), Deque
Trees Binary Tree, Binary Search Tree
Graphs Directed Graph, Flow Network

πŸ§ͺ Testing

All data structures include basic unit tests under the /tests directory.
To run all tests:

python -m unittest discover tests

Make sure you're in the project root before running this command.

🚧 Future Additions

This project is under active development. Planned additions include:

βœ… AVL Trees / Red-Black Trees

βœ… Heaps (Min/Max)

βœ… Tries

βœ… Disjoint Sets

βœ… Graph algorithms (BFS, DFS, Dijkstra, Prim, Kruskal)

πŸ™‹β€β™‚οΈ About Me

Angel Gael Aviles Gama
LinkedIn
GitHub

About

Collection of main data structures, created on python from scratch without using libraries

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages