雜湊結構是如何找到相對應的鍵 值對?

2021-09-23 07:31:19 字數 469 閱讀 1211

雜湊結構作為一種抽象資料結構,hash表的實現思路如下:

通過某種演算法,在 鍵--值對的儲存位址和 鍵--值對中的key之間,建立一種對映,使得每乙個key,都有乙個確定的儲存位址於之對應。這種演算法被封裝在hash函式中。

在查詢時,通過hash函式,算出和key對應的儲存位址,從而找到相應的鍵-值對。這樣就不需要遍歷了(付翔注)

相對於通過遍歷整個鍵-值對列表來進行查詢,hash表的查詢效率要高得多,理想的情況下演算法複雜度僅為o(1)(遍歷查詢的複雜度為o(n))。flash內建的雜湊結構有object和dictionary兩種。訪問速度上dictionary要快於object(參考dictionary vs object vs array ),並且支援弱引用。haxe的選擇麵則更廣一些。dictionary提供了一種泛型結構,並針對key為int型的雜湊結構做了特殊優化——inthash。

posted on 2009-09-10 09:21收藏

如何根據 crash 位址找到對應的行號

有時候我們的程式crash了,會出現乙個crash介面提示我們在什麼位置中斷了。我們如何根據這個中斷位址找到對應的行號呢?要想達到這樣的目的,首先要進行一些工程屬性的配置。c c 常規 除錯資訊格式 程式資料庫 c c 優化 優化 禁用 鏈結器 除錯 生成除錯資訊 是 生成對映檔案 是 對映檔名稱 ...

如何根據檔案描述符找到對應socket的連線

如何根據檔案描述符找到對應socket的連線 方式1 ss命令找到連線對應的檔案描述即可 root cnsz17v proc net ss antp grep 10.119.54.12 grep 6533 estab 0 0 10.119.2.63 51876 10.119.54.12 8001 u...

如何找到乙個前端事件對應的事件處理函式

例子 我想知道這個被fire的 change事件,到底被哪些處理函式接收並處理?我們一步步來。反思一下,你的button 設定text時,比如你傳了乙個 click me 給button,框架會丟擲乙個 change的event.你注意到了這個event,並且做出了乙個猜想 你最後之所以能在ui上看...