# Analysis of Algorthims
Algorithms - Step by step procedure of solving a problem.
### Difference between Algorithms and Programs

#### Design Time – Algorithm 
1. Written at design time
2. Any language i.e., English + Mathematical notations
3. Who – Domain knowledge
4. Hardware & Software independent
5. Analyze the algorithm in terms of time and space

#### Implementation Time – Program 
1. Written at implementation time
2. Written in a programming language i.e., C++, Java
3. Who - Programmers 
4. Hardware & Software independent
5. Test the program 

### Logrithims
[Logarithms Explain (Math is Fun)](https://www.mathsisfun.com/algebra/logarithms.html)

### Binary Search Algorithm Time Complexity
Time Complexity Proof ->  1 + lg(N) is expalined in the [link](https://www.youtube.com/watch?v=TomQQb2kJvc).


[Logarithms Explain (Math is Fun)](https://www.mathsisfun.com/algebra/logarithms.html)

### Euclidean Algorithm

* [GCF](https://www.mathsisfun.com/greatest-common-factor.html)
* [Prime Factorization](https://www.mathsisfun.com/prime-factorization.html)
* [GCD](https://brilliant.org/wiki/greatest-common-divisor/)
* [Euclidean Algorithm](https://www.khanacademy.org/computing/computer-science/cryptography/modarithmetic/a/the-euclidean-algorithm)

---
### Oracle Java
#### 64bit Machine 11 or 12 or 13
* [JDK-15](https://www.oracle.com/java/technologies/javase-jdk15-downloads.html)

#### 32bit machine Oracle JDK 8
* [JDK-8](https://www.oracle.com/pt/java/technologies/javase/javase-jdk8-downloads.html)

#### Java Environment Variables
* [Java Environment Variables](https://javatutorial.net/set-java-home-windows-10)
