天天看點

通過索引優化查找性能

Qt君最近為軟鍵盤添加中文輸入功能,由于字母對應拼音中文比較多。使用字母查找中文要快速響應,不然會影響界面互動。

 在網上找到了一個中文拼音字庫,看了下裡面的資料将近兩萬個。比如輸入"a"字母,一般我們會周遊所有符合"a"字母的中文,這樣将會周遊兩萬次。多多少少會影響界面互動的流暢性。

看了一下規律,拼音中文對應字母可分為a到z共26大類。

安a
按a
不b
吧ba
産c
成c
...
           

複制

如果将a到z細分26大類,就可以将查找範圍大大縮小,而a到z就是其索引。

通過索引優化查找性能

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