An open API service indexing awesome lists of open source software.

https://github.com/iamjuniorb/data_structures_and_algorithms

I'm working on Data Structures and Algorithms I C949 class in school and decided to write up all of these searching algorithms, sorting algorithms, strutures, and so on to get a better understanding. These can be used with large datasets to test their space and time complexities.
https://github.com/iamjuniorb/data_structures_and_algorithms

data data-analysis data-science data-structures datastructures datastructures-algorithms datastructuresandalgorithm math mathematics programming python python-app python-library python3

Last synced: about 2 months ago
JSON representation

I'm working on Data Structures and Algorithms I C949 class in school and decided to write up all of these searching algorithms, sorting algorithms, strutures, and so on to get a better understanding. These can be used with large datasets to test their space and time complexities.

Awesome Lists containing this project

README

        

## Data Structures and Algorithms in Python

#### This repository contains implementations of various data structures and algorithms in Python. The code is organized into four main categories: Data Structures, Search Algorithms, Sorting Algorithms, and Graph Algorithms.

## Structure
```
ROOT

├── DATA STRUCTURES
│ ├── arrays.py
│ ├── avl_tree.py
│ ├── binary_search_tree.py
│ ├── b_tree.py
│ ├── binary_heap.py
│ ├── cartesian_tree.py
│ ├── doubly_linked_list.py
│ ├── fibonacci_heap.py
│ ├── hash_tables.py
│ ├── kd_tree.py
│ ├── priority_queue.py
│ ├── queue.py
│ ├── red_black_tree.py
│ ├── singly_linked_list.py
│ ├── skip_list.py
│ ├── stack.py
│ └── trie.py

├── SEARCH ALGORITHMS
│ ├── a_star_search.py
│ ├── binary_search.py
│ ├── boyer_moore_string_search.py
│ ├── breadth_first_search.py
│ ├── depth_first_search.py
│ ├── fibonacci_search.py
│ ├── interpolation_search.py
│ ├── jump_search.py
│ ├── knuth_morris_pratt_search.py
│ ├── linear_search.py
│ ├── manacher_algorithm.py
│ ├── rabin_karp_search.py
│ ├── recursive_binary_search.py
│ ├── suffix_array_search.py
│ ├── ternary_search.py
│ └── z_algorithm.py

├── SORTING ALGORITHMS
│ ├── bogo_sort.py
│ ├── bubble_sort.py
│ ├── bucket_sort.py
│ ├── cocktail_sort.py
│ ├── comb_sort.py
│ ├── counting_sort.py
│ ├── cube_sort.py
│ ├── heap_sort.py
│ ├── insertion_sort.py
│ ├── linked_list_merge_sort.py
│ ├── merge_sort.py
│ ├── quicksort.py
│ ├── radix_sort.py
│ ├── selection_sort.py
│ ├── shell_sort.py
│ ├── timsort.py
│ └── tree_sort.py

├── GRAPH ALGORITHMS
│ ├── articulation_points.py
│ ├── bellman_ford_algorithm.py
│ ├── dijkstra's_algorithm.py
│ ├── edmonds-karp_algorithm.py
│ ├── floyd_warshall_algorithm.py
│ ├── kosaraju's_algorithm.py
│ ├── kruskal's_algorithm.py
│ ├── maximum_bipartite_matching.py
│ ├── prim's_algorithm.py
│ └── topological_sort.py

└── UTILITIES
├── load.py
└── recursion.py
```

## Usage

I'm personally using it to better understand data structure and algorithms. Will probably use large datasets to compare and contrast.

Feel free to contribute by adding new algorithms or fixing any mistakes I have made. Please ensure that your code follows the existing structure and includes appropriate documentation and test cases. If you can't tell, I LOVE documentation.

## License

This project is open source and available under the MIT License.