Chapter 2. Algorithm Analysis
An algorithm can be defined as a set of step-by-step instructions which govern the outline of a program that needs to be executed using computational resources. The execution can be in any programming language such as R, Python, and Java. Data is an intricate component of any program, and depending on how data is organized (data structure), your execution time can vary drastically. That's why data structure is such a critical component of any good algorithm implementation. This book will concentrate primarily on running time or time complexity and partly on memory utilization and their relationship during program execution. The current chapter will cover following topics in detail:
- Best, worst, and average cases
- Computer versus algorithm
- Algorithm asymptotic analysis
- Upper bounds evaluation
- Lower bounds evaluation
- Big Θ notation
- Simplifying rules
- Classifying functions
- Computation evaluation of a program
- Analyzing problems
- Space bounds
- Empirical analysis...