Algorithms & Data Structure
In this github repo, I use python 3.7.* and Java 8 to build different type of data data Structure and algorithms, feel free to ask me, add new issue and fork 😀.
Authors
See also the list of contributors who participated in this project.
Getting Started
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
Python 🐍
Prerequisites
- Python >= 3.7.
- pip3
Installing
A step by step series of examples that tell you how to get a development env running
- clone the repo to your local machine using
$ git clone https://github.com/SalAlba/dataStructure-and-algorithms.git
$ cd dataStructure-and-algorithms
- create virtual env and run using
$ virtualenv venv
$ source venv/bin/activate
- install all requirements using
$ pip install -r requirements.txt
☕
Java - how to run java program from terminal/console [src]
# compile the program
$ javac path/to/ClassName.java
# run compiled program
$ java ClassName
Topics
Algorithm complexity
Algorithmic complexity (code complexity) it is how particular algorithm performs, fast or slow. the complexity is defined as numeric function T(n). want to measure the time taken by the algorithm without dive into the implementation [src]
In Algorithmic Complexity we take care of this three measurement. Big-O, Sigma, Theta. [1.1.]
- Big-O (Worst case) - Use an input that gives the slowest performance.
- Sigma (Best case) - Use an input that give, the best results.
- Theta (Average case) - Assumes the input is random.
TODO
- How to measure the complexity?
Data strucure
[Python] | [Java]
Arrays- search O(n).
- access O(1).
- insert O(n).
- delete O(n).
If we want access to value super fast, so go with array that why use, but if you want be faster in adding new values, editing value, or removing in this case arrays is not the best solutios. The dark side
Algorithm
TODO ...
Notes / Things you should to know
TODO
Contributing
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
License
This project is licensed under the MIT License - see the LICENSE.md file for details, Copyright 2020 © Salem Albarudy.
Acknowledgments
- Hat tip to anyone whose code was used
- Inspiration
- etc