Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ngunyigachie/dsa-python
https://github.com/ngunyigachie/dsa-python
Last synced: about 9 hours ago
JSON representation
- Host: GitHub
- URL: https://github.com/ngunyigachie/dsa-python
- Owner: NgunyiGachie
- Created: 2024-06-18T12:14:12.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2024-07-04T11:26:52.000Z (6 months ago)
- Last Synced: 2024-11-11T19:06:53.600Z (about 2 months ago)
- Language: Python
- Size: 22.5 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Data Structures and Algorithms in Python
This repository contains implementations of various data structures and algorithms in Python.
## Table of Contents
- [Data Structures](#data-structures)
- [Algorithms](#algorithms)## Data Structures
1. **Linked List**: Implementation of singly linked list, doubly linked list, etc.
2. **Stack**: Implementation of stack data structure.
3. **Queue**: Implementation of queue data structure.
4. **Binary Tree**: Implementation of binary tree data structure.
5. **Heap**: Implementation of heap data structure.
6. **Hash Table**: Implementation of hash table (hash map) data structure.
7. **Graph**: Implementation of graph data structure.## Algorithms
1. **Sorting Algorithms**:
- Bubble Sort
- Selection Sort
- Insertion Sort
- Merge Sort
- Quick Sort
- Heap Sort
- Recursion
- Shell Sort2. **Algorithms for Searching Strings**:
- Linear Search: Simple approach where you check each character or substring sequentially.
- Knuth-Morris-Pratt (KMP) Algorithm: Efficient algorithm for substring searching that avoids unnecessary character comparisons.
- Boyer-Moore Algorithm: Another efficient algorithm for substring searching, focusing on skipping characters based on a preprocessing step.
- Rabin-Karp Algorithm: Uses hashing to find one or more patterns in a text string.## Contributing
Contributions are welcome! If you'd like to contribute:
- Fork the repository
- Clone the forked repository to your local machine
- Create a new branch for your feature: `git checkout -b feature-name`
- Make your changes and commit them: `git commit -m 'Add some feature'`
- Push to the branch: `git push origin feature-name`
- Submit a pull requestPlease make sure to update tests as appropriate.