最近,小吳在追一部古裝劇 ----《長安十二時辰》。
故事講得是在上元節前夕,長安城混入可疑人員,身陷囹圄的張小敬臨危受命,與少年天才李必攜手在十二時辰內破除隱患。
該劇的一大亮點就在於 時間很緊迫,須要在二十四小時內捉拿蓄謀已久的「恐怖分子」。
而之因此張小敬與李必能及時破除隱患,依賴的是正確的使用數據結構與算法!
大案牘術與推薦算法
大案牘術的發明者是靖安司中的徐賓,憑藉着神奇的「記憶宮殿」加上刻苦鑽研,研究出了一套以檔案數據爲基礎的處理事務的方法,即爲「大案牘術」。
你能夠將 大案牘術 理解爲咱們當下熱門的 大數據。
依託於這個 大案牘術 ,能夠快速分析大量數據信息進行推理,不管是破案調查找人,仍是預言將來,均可以作到。
故事的主角張小敬正是憑藉着 大案牘術 中的 推薦算法 脫穎而出,成爲拯救長安的大英雄。
長安輿圖與時間複雜度
對於「恐怖分子」狼衛來講,長安不是他們的家鄉,是一我的生地不熟的陌生城市。
若是經過四處遍歷的方式(暴力法)去尋找長安的核心目標,那再給他們幾個月也是沒法精準定位的,此時他們到達目的地的時間複雜度爲 O(n2)。
有了上面這份長安輿圖即可輕易精準定位目標所在地,狼衛使用 長安輿圖 優化了時間複雜度,達到了 O(n) 級別。
「五尊閻羅」張小敬站出來了!對於他來講,長安可不是平面的,而是三維立體的,哪裏有溝渠哪裏能上房都一清二楚。
張小敬經過以空間換時間的方式(飛檐走壁),極大的優化了時間複雜度,達到了O(logn) 的級別。
正是由於他們使用的算法不一樣,這纔在爲張小敬能追上狼衛提供了理論上的支持。
望樓系統與加密算法
先說一下望樓:望樓是八丈高的瞭望塔,星羅棋佈的安置於長安城中,敲鼓以後用方格拼出的圖案傳遞信息。花紋圖案對應三位數字,在密碼本中可查詢數字對應的文字含義。
望樓系統的信息傳遞使用的是公開的方式,視野處都能看到望樓上顯示的花紋圖案,可是它們的具體含義只有內部人員經過密碼本進行查詢,方可解密出對應的文字含義。