Week 1: Algorithms
This week, I learned pseudocode, GCD, graphs, trees, and the algorithm analysis framework. The book has been a great resource for understanding the content before watching the lectures. What I had the most trouble with was the basic operation. I thought the basic operation was only one: the most used operation in an innermost loop to measure the efficiency of the algorithm, but then I learned that there is not only one basic operation. Sometimes, there are a few operations that depend on each other in the same innermost loop, and together they determine the performance needed for the loop to execute its full cycle.
As an example, from the algorithm analysis framework, the pseudocode Display_2D_Stars:
1. Algorithm Display_2D_Stars (n)
2. // Input: A positive integer number n
3. // Output: Display the * symbol in two dimensions.
4. i ← 0
5. while ( i < n ) do
6. j ← 0
7. while ( j < n ) do
8. write '*'
9. j ← j + 1
10. write '\n'
11. i ← i + 1
12. return 0