Welcome to PyAlgo-Tree π
</a>
πRepository
This project aims to be a finest hub of various data structures and algorithms you need to know in python across different topics and fields.
You can get all the wisdom here about data structures and algorithms before you dive into real time projects. Letβs get a short intro to it.
πData Structures & Algorithms
Data structures & Algorithms are an essential part of programming. It comes under the fundamentals of computer science. It gives us the advantage of writing better and efficient code in less time. Itβs a key topic when it comes to Software Engineering. So as developers, we must have knowledge of Data Structure and Algorithms
πData Structures
In computer science, a data structure is a data organization, management, and storage format that enables efficient access and modification. Data structure is a way or a format how your data is stored in memory for effecient usage and retrieval.
πAlgorithms
An algorithm is a set of instructions that are used to accomplish a task, such as finding the largest number in a list, removing all the red cards from a deck of playing cards, sorting a collection of names, figuring out an average movie rating from just your friendβs opinion
Algorithms are not limited to computers. They are like a set of step-by-step instructions or an even a recipe, containing things you need, steps to do, the order to do them, conditions to look for, and expected results.
πJoin Here
Anyone related to technology who are looking to contribute to open-source, are all invited to hop in. This place has a task for everyone.
If you find this repo useful or it did help you in enhancing your python knowledge, do share it with the world so that others can get benefitted as you did.
Language - Python
Are you new to Python? You can gain strong foundations on Basic Python through this repo.
To make your learning journey more fruitful, I had created an open source project of Awesome Python Scripts. Do add your projects to enhance your learning experience. It has everything to offer for you and is a one stop place for all kinds of python scripts.
Drop me a private message, if this project enriched your skills better and made you progress in building up your own projects in python. Any queries, feel free to ask. I would be happy to assist you.
π‘Table Of Contents
- Algebra
- Arithmetic
- Arrays
- Artificial Intelligence
- Backtracking
- Bit Manipulation
- Blockchain
- Ciphers
- Compressions
- Computer Vision
- Conversions
- Cryptography
- Data Structures
- Deep Learning
- Digital Image Processing
- Dynamic Programming
- Electronics
- Fractals
- Geometry
- Graphs
- Greedy
- Hashes
- Knapsack
- Lists
- Machine Learning
- Maths
- Matrices
- Miscellaneous
- Networking
- Optimization
- Path Finding
- Quantum
- Queues
- Recursion
- Scheduling
- Searching
- Sets
- Sorting
- Stacks
- Streaming
- Strings
- Tests
- Traversals
- Trees
- Unix
If you worked on or want to initiate a your script and share it with the world, you can do that here. Go through the contributing guidelines in CONTRIBUTING_GUIDELINESπ©βπ»
When raising an issue, do make sure to mention the kind of script, project title, short description of the project and what it does and the purpose of it. As a good practice, always link the issue number with pull request. (#issue number : Give this details when you raise a PR).
Subsequently, also go through the GitHub documentation on creating a pull request.
π±Pre-requisites
- Python IDE : Install it by using this link python.org
- If you are new to python programming and want to have a fair knowledge before you start working on it, you can learn it in a simplified way through this repo.
βοΈ Things to Note
- Make sure you do not copy codes from external sources because that work will not be considered. Plagiarism is strictly not allowed.
- You can only work on issues that have been assigned to you.
- If you want to contribute the script, itβs preferable that you create a new issue before making a PR and link your PR to that issue.
- If you have modified/added code, make sure the code compiles before submitting.
- Strictly use snake_case (underscore_separated) in your file_name and push it in the correct folder.
- Add detailed comments and explain the script elaborately with test cases to help us know what the Script is all about.
- Do not update the README.md.
πProject Structure
Your projects should contain this flow to maintain similarity across all other projects. Make sure to note these things, before you create a PR.
- For algorithms based on basic python skills, the project structure should look like this:
Create a folder of your project title. (Example : If you want to add an algorithm of heap sort, then project name should be βHeap Sortβ and file name as βheap_sort.pyβ)
The project repository you had created would have :
file_name.py - This python file is the project you have worked upon.
README.md - This file is must included to get good understanding of the project (Elaborate it briefly about how it works using README template).
requirements.txt - In this file, you should add all the libraries you had included in your project
Images - This folder would have all images added, be it screenshots or step by step process images.
Related files - The other additional and related files would be added up in βRelatedβ folder.
- For algorithms based on Machine Learning, Deep Learning, Computer Vision, Artificial Intelligence etc, the project should look like this:
Create a folder of your project title. (Example : If you want to add an algorithm of Decision Tree Classifier, then project name should be βDecision Tree Classifierβ and file name as βdecision_tree_classifier.pyβ)
The project repository you had created would have :
Dataset - This folder would have a .csv file.
Model - This folder would have your algorithm file (that is .ipynb file). Other than algorithm file, it should also have a βREADME.mdβ using this template and βrequirements.txtβ file which would be enclosed with all needed add-ons and libraries that are included in the algorithm
Images - This folder would have all images added, be it screenshots or step by step process images.
Related files - The other additional and related files would be added up in βRelatedβ folder.
Elaborate your README briefly about how it works by showing step by step procedure.
π Templates to Follow
- Feature request
- Bug Report
- Pull Request
- README - Kindly choose the README according to the algorithm you choose.
Note : One should follow these templates while creating a new issue or pull request.
π¨βπ» Workflow:
-
Fork the repository
-
Clone your forked repository using terminal or gitbash.
-
Make changes to the cloned repository
-
Add, Commit and Push
-
Then in GitHub, in your cloned repository, find the option to make a pull request.
print(βStart contributing for PyAlgo-Treeβ)
πOpenSource Program
This project was a part of this open source program.
β¨Hall Of Fame
Thanks goes to these Wonderful People. Contributions of any kind are welcome!π
π Code Of Conduct
You can find our Code of Conduct here.
πLicense
This project follows the MIT License
βProject Maintainer
Manasi Chhibber |
π Project Admin
| :ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ: |
π Stargazers Over Time π
βGive this Project a Star
If you like this project, consider giving a β to this project and share it as much as you can.
π π π Happy Contributing π π π
***[Click here](https://github.com/prathimacode-hub/prathimacode-hub/blob/main/PROJECTS.md)*** to view my other projects.</sup>
</td>
π¬ Contact
If you want to contact me, you can reach me through social handles.
Β© 2021 Prathima Kadari