為什麼要學 Big O
學習演算法和資料結構就是為了寫出高效率的程式碼,不只在時間上需要快速,在空間上的消耗更要節省,而 Big O 就是用來衡量演算法效率的單位。因此,在學習各種資料結構與演算法帶來的好處之前,要先懂得如何透過 Big O 辨別程式碼的效率。
寫code,學習,練習表達
學習演算法和資料結構就是為了寫出高效率的程式碼,不只在時間上需要快速,在空間上的消耗更要節省,而 Big O 就是用來衡量演算法效率的單位。因此,在學習各種資料結構與演算法帶來的好處之前,要先懂得如何透過 Big O 辨別程式碼的效率。
何謂 sliding window?
sliding window 適用於線性資料結構,可以用來解決在線性資料結構中找到滿足特定條件的 sub-sequence 或 sub-array的問題。
sliding window 有以下特點:
1. 在線性時間內完成
2. 利用 two pointer 來控制 window 大小
3. 答案是連續的資料