AKDSFramework
Python Package for all your data structure and algorithm needs.
Getting started • Data Structures • Algorithms • License
AKDSFramework is a Purely written in Python library containing implementations of various data structures.
Our Package will allow user to focus on developing algorithms and not worry about finding python-compatible implementations of classic data structures like linked list, heap and others.
Useful links
- Documentation We've written a comprehensive documentation for our framework AKDSFramework. Have a look at it here.
- See what's in the works now here.
Installation / Setup
I am working hard to make this framework available via PyPI. In the mean time do this
pip3 install https://github.com/theroyakash/AKDPRFramework/tarball/main
First code, Check the version
Now to check whether your installation is completed without error import AKDSFramework
import AKDSFramework
print('AKDSFramework Version is --> ' + AKDSFramework.__version__)
Example code creating Linked List
from AKDSFramework.structure.linkedlist import SinglyLinkedList
lkl = SinglyLinkedList()
# Now add some data into it
lkl.add(20)
lkl.add(120)
lkl.add(7102)
lkl.add(773)
# Now to see your linked list
print(lkl) # ---> 20 --> 120 --> 7102 --> 773 --> None
# Now reverse this linked list:
print(reversed(lkl))
Currnetly supporting APIs
Supporting API | Scope |
---|---|
Singly Linked List | Data Structures |
Graph | Data Structures |
Priority Queues with heap | Data Structures |
Queues | Data Structures |
Stacks | Data Structures |
Graphs (Adjacency Matrix) | Graph Structures |
Graphs (Adjacency List) | Graph Structures |
BFS and DFS | Graph Algorithms |
Single Source Shortest paths | Graph Algorithms |
Representing a graph with drawings | Graph Algorithms |
Dictionary (Hash Table) | Data Structures |
Linear Search and Binary Search | Search Algorithms |
Big O complexity analysis | General purpose Algorithms |
Merge, Quick, Bubble, Insertion, Heap Sort | Sorting Algorithms |
Contributing
Contributions are welcome. Make PR or open a new issue with some idea.