https://github.com/ytakzk/basic_data_structures_and_algorithms_in_python
A collection of snippets of basic data structures and algorithms written in Python.
https://github.com/ytakzk/basic_data_structures_and_algorithms_in_python
algorithms computational-geometry data-structures geometry graph-algorithms
Last synced: 7 months ago
JSON representation
A collection of snippets of basic data structures and algorithms written in Python.
- Host: GitHub
- URL: https://github.com/ytakzk/basic_data_structures_and_algorithms_in_python
- Owner: ytakzk
- Created: 2019-05-21T20:52:35.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2019-05-22T21:17:56.000Z (almost 7 years ago)
- Last Synced: 2025-07-08T07:09:30.358Z (9 months ago)
- Topics: algorithms, computational-geometry, data-structures, geometry, graph-algorithms
- Language: Python
- Homepage:
- Size: 23.4 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Basic Data Structures and Algorithms in Python
This is a collection of snippets of basic data structures and algorithms written in Python. Most of the algorithms here come from [this book](http://www.amazon.co.jp/exec/obidos/ASIN/B00U5MVXZO/sixa-22/ref=nosim/) but are re-written in a Python-specific manner.
#### Data Structures
* [Stack](https://github.com/ytakzk/basic_data_structures_and_algorithms_in_python/blob/master/stack.py)
* [Queue](https://github.com/ytakzk/basic_data_structures_and_algorithms_in_python/blob/master/queue.py)
* [Doubly linked list](https://github.com/ytakzk/basic_data_structures_and_algorithms_in_python/blob/master/doubly_linked_list.py)
#### Searching
* [Binary search](https://github.com/ytakzk/basic_data_structures_and_algorithms_in_python/blob/master/binary_search.py)
#### Sorting
* [Insertion sort](https://github.com/ytakzk/basic_data_structures_and_algorithms_in_python/blob/master/insertion_sort.py)
* [Bubble sort](https://github.com/ytakzk/basic_data_structures_and_algorithms_in_python/blob/master/bubble_sort.py)
* [Selection sort](https://github.com/ytakzk/basic_data_structures_and_algorithms_in_python/blob/master/selection_sort.py)
#### Trees
* [Binary tree](https://github.com/ytakzk/basic_data_structures_and_algorithms_in_python/blob/master/binary_tree.py)
* [Complete binary tree](https://github.com/ytakzk/basic_data_structures_and_algorithms_in_python/blob/master/complete_binary_tree.py)
* [Heap](https://github.com/ytakzk/basic_data_structures_and_algorithms_in_python/blob/master/heap.py)
* [Priority queue](https://github.com/ytakzk/basic_data_structures_and_algorithms_in_python/blob/master/priority_queue.py)
* [Depth-first search](https://github.com/ytakzk/basic_data_structures_and_algorithms_in_python/blob/master/depth_first_search.py)
* [Breadth-first search](https://github.com/ytakzk/basic_data_structures_and_algorithms_in_python/blob/master/breadth_first_search.py)
#### Graph
* [Graph](https://github.com/ytakzk/basic_data_structures_and_algorithms_in_python/blob/master/graph.py)
* [Prim's algorithm](https://github.com/ytakzk/basic_data_structures_and_algorithms_in_python/blob/master/prim_algorithm.py)
* [Dijikstra's algorithm](https://github.com/ytakzk/basic_data_structures_and_algorithms_in_python/blob/master/dijkstra_algorithm_with_adjacency_list.py) (with adjacency list)
* [Dijikstra's algorithm](https://github.com/ytakzk/basic_data_structures_and_algorithms_in_python/blob/master/dijkstra_algorithm_with_priority_queue.py) (with priority queue)
#### Computational Geometry
* [Point](https://github.com/ytakzk/basic_data_structures_and_algorithms_in_python/blob/master/point.py)
* [Counter-clockwise (ccw) predicate](https://github.com/ytakzk/basic_data_structures_and_algorithms_in_python/blob/master/point.py#L26)
* [Vector](https://github.com/ytakzk/basic_data_structures_and_algorithms_in_python/blob/master/vecvtor.py)
* [Parallel and perpendicular vectors](https://github.com/ytakzk/basic_data_structures_and_algorithms_in_python/blob/master/vector.py#L140-L147)
* [Geometry](https://github.com/ytakzk/basic_data_structures_and_algorithms_in_python/blob/master/geometry.py)
* [Point projection onto a line](https://github.com/ytakzk/basic_data_structures_and_algorithms_in_python/blob/master/geometry.py#L10)
* [Point reflection across a line](https://github.com/ytakzk/basic_data_structures_and_algorithms_in_python/blob/master/geometry.py#L17)
* [Distance from a point to a line](https://github.com/ytakzk/basic_data_structures_and_algorithms_in_python/blob/master/geometry.py#L21)
* [Distance from a line to a line](https://github.com/ytakzk/basic_data_structures_and_algorithms_in_python/blob/master/geometry.py#L51)