通過索引優化查找性能
- 2019 年 10 月 6 日
- 筆記
Qt君最近為軟鍵盤添加中文輸入功能,由於字母對應拼音中文比較多。使用字母查找中文要快速響應,不然會影響介面交互。
在網上找到了一個中文拼音字型檔,看了下裡面的數據將近兩萬個。比如輸入"a"字母,一般我們會遍歷所有符合"a"字母的中文,這樣將會遍歷兩萬次。多多少少會影響介面交互的流暢性。
看了一下規律,拼音中文對應字母可分為a到z共26大類。
安a 按a 不b 吧ba 產c 成c ...
如果將a到z細分26大類,就可以將查找範圍大大縮小,而a到z就是其索引。

建立a到z的索引,而查找的時候先查找某一個索引(字母),再通過索引進一步查找對應的數據,從而實現優化查找效率。