Articles in this series
簡介 Intro 此演算法是由 Joseph M. Morris 在 1979 年的論文「Traversing Binary Trees Simply and Cheaply」首次提出,因此稱之為 -- Morris traversal。其核心概念是利用樹中的空閒指針,縮減空間複雜度到常數。Morris traversal 主要是中序處理,但是修改後也是可以適用於前序和後序。 中序 In-Order 先初始化 root 作為當前節點 curr 當前節點 curr 不是 NULL 的時候,就往左...
簡介 Debounce 和 Throttle 常用在 input、scroll、resize 等事件進行控制,防止事件過多觸發,減少資源消耗或是商業邏輯上的維護成本。這兩者最大的差異在於觸發的時機。 debounce(func, wait, options):建立並回傳函數的防彈跳版本,將延遲函數的執行(真正的執行)在函數最後一次調用時刻的 wait 毫秒之後,對於必須在一些輸入(多是一些用戶操作)停止之後再執行的行為有幫助。將一個連續的調用歸類為一個,如果連續在 wait 毫秒內調用,只有最...
Facebook 約有 57% Android 和 49% iOS 的使用者使用非英語之外的語言,意味著有相當多不同的語言的語法、名詞、複數等語句需要處理。使用語言包的方式,讓 iOS APP 減少了約 16.6MB 的大小。 Why do we need language packs? Android 和 iOS 原生平台提供的本地化框架存在兩個問題 翻譯的精確性 兩個原生平台只能提供簡單的文本翻譯,很難再沒有樣板程式碼的情況下建立符合語意的翻譯。為此開發了自己的 API 和框架-- FBT,...
SSR SSG CSR ISR DPR
主要紀錄自己對於 Scrum 的心得和感想
基礎概念 Binary Search 的概念類似 Quick Sort 中的概念。Binary Search 需要仰賴已經排序好的資料,所以雖然搜尋的效率比線性搜尋來得高,但是刪減資料都會需要耗費另外的成本做排序。 而其實做方式有兩種:Iteration 和 Recursion。 Time Complexity: Best: O(1) Average:O(log n) Worst:O(log n) Space Complexity: O(1) 實作 Python Iteration def ...