資料結構與演算法-圖解版

Lance發表於2020-04-10

資料結構與演算法-圖解版
陣列(Array)是一種線性表資料結構,它用一組連續的記憶體空間,來儲存一組具有相同型別的資料。PHP 這種動態語言中,因為陣列底層是通過雜湊表實現的,所以功能異常強大,這段常規的陣列定義在 PHP 中並不成立,PHP 的陣列可以儲存任何型別資料,如果與 Java 對比的話,PHP 陣列整合了 Java 的陣列、List、Set、Map 於一身,所以寫程式碼的效率比 Java 高了幾個量級。

資料結構與演算法-筆記

資料結構與演算法-筆記

資料結構與演算法-筆記

資料結構與演算法-筆記

資料結構與演算法-筆記

資料結構與演算法-筆記
應用:瀏覽器前進、倒退功能,編輯器/IDE 中的撤銷、取消撤銷功能,程式程式碼中的函式呼叫、遞迴、四則運算等等,都是基於堆疊這種資料結構來實現的

資料結構與演算法-筆記
應用:訊息佇列就是佇列的典型應用場景

資料結構與演算法-筆記

資料結構與演算法-筆記

資料結構與演算法-筆記

資料結構與演算法-筆記

資料結構與演算法-筆記
歸併排序使用了分治思想

資料結構與演算法-筆記
常規排序裡綜合排名最高的排序演算法

資料結構與演算法-筆記

資料結構與演算法-筆記

資料結構與演算法-筆記

資料結構與演算法-筆記
在涉及中文的文章中,還要進行中文分詞
應用:比如 Elasticsearch、Lucene

資料結構與演算法-筆記
雜湊衝突解決辦法:開放定址法在資料量較小、裝載因子小的時候(小於1)選用;連結串列法可以容忍裝載因子大於1,適合儲存大物件、大資料量的雜湊表,且更加靈活,支援更多優化策略。
應用:安全加密、唯一標識、資料校驗、雜湊函式、負載均衡、分散式快取

資料結構與演算法-筆記

資料結構與演算法-圖解版

資料結構與演算法-圖解版
應用:敏感詞過濾系統、搜尋框聯想功能、瀏覽器網址輸入自動補全、IDE程式碼編輯器自動補全、輸入法自動補全功能

資料結構與演算法-圖解版

資料結構與演算法-圖解版

資料結構與演算法-圖解版

資料結構與演算法-圖解版

資料結構與演算法-圖解版

資料結構與演算法-圖解版

以上內容大部分來自於《學院君-資料結構與演算法》

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章