# Week 1 ## Introduction ## Notation Why is it important that you know the time and space complexity of your code? What factors can influence the runtime of a algorithm? What are the different types of notation? Why is Big O notation used more than the others? What is considered O(1) constant complexity? What is considered O(n) linear complexity? What is considered O(n^2) quadratic complexity? What is considered O(log n) logarithmic complexity? ## Practice [Brilliant Complexity/Runtime Analysis](https://brilliant.org/practice/big-o-notation/?subtopic=algorithms&chapter=complexity-runtime-analysis) [Big O Notation and Beyond for Coding Interviews](https://www.educative.io/courses/big-o-notation-for-interviews-and-beyond/qVAvlqLZnO0) ### What are the runtimes for the following: ![](https://i.imgur.com/Gu3Q7gp.png) ![](https://i.imgur.com/fGOVAs7.png) ![](https://i.imgur.com/pWxYGjt.png) ![](https://i.imgur.com/vPFMnoQ.png) ![](https://i.imgur.com/h0uedXP.png) ![](https://i.imgur.com/RaOERAt.png) ![](https://i.imgur.com/yfbu2oU.png) ![](https://i.imgur.com/VSDDHJB.png) ![](https://i.imgur.com/57CCoBP.png) ![](https://i.imgur.com/gJMnPW8.png) ![](https://i.imgur.com/9LzXHhu.png) ![](https://i.imgur.com/wmzghsz.png) [Insertion Sort Brilliant]("https://brilliant.org/practice/insertion-sort/") [Bubble Sort Codescope]("https://www.codesdope.com/course/algorithms-bubble-sort/")