思想行動之Tips提示框引擎的索引結構

2021-09-30 09:30:15 字數 718 閱讀 2301

這種結構怎麼來描述呢?簡單來講就是乙個詞對應一系列的結果(倒排索引這個東西是講爛了的)。不妨定義如下:

[word]-->[num] [wordid1] [wordid2] [wordid3]...

word代表是使用者輸入的詞條、num是該詞條指向的結果數(最多10條)、wordid1...wordid2等是結果的id編號、或者直接是word的偏移(這裡就假設為編號吧)。eg:[有限]-->[3] [4] [6] [7]。接著找到編號為4、6、7的結果詞條輸出即可(這裡還得2分查詢)。這樣的時間效率是不是可以是o(logn)。接下來,諸如此樣的索引結構,那索引檔案得多大?能行嗎?好,我們來分析之:我們假設總共有詞條數為n,詞條的平均長度為m。

可以粗略估算一下:n個詞條,平均長度為m的話,那麼word的最大個數就可以知道是 n*m,後面的索引單元是多少?我覺得也是n*m就夠了。所以總的檔案大小是:

sum <= (sizeof word + sizeof num ) * ( n * m ) + sizeof wordid * n * m;

我們令n=200w,m=5。最大的長度為16個位元組。那麼sum <= 240mb。

二、樹型結構

樹形結構是這樣一種結構:

word

word1      word2    word3

/    |   \         /    |   \       /    |   \

上述,那麼乙個word代表乙個字。

qt之透明提示框

int width this width this resize width,28 this setwindowflags qt framelesswindowhint 設定標題欄隱藏 qpalette palette 設定背景色 qcolor color 190,230,250 color.set...

Qt之透明提示框

經常使用企鵝的小夥伴一定對登入失敗的提示框很熟悉,主要涉及視窗透明並新增圖示 提示資訊 關閉按鈕的顯示等。我們可以利用qwidget建立乙個提示框,然後通過樣式設定我們想要的效果。設定顯示文字 void qmessagewidget settext const qstring text 設定樣式需要...

Qt之等待提示框(QMovie)

關於gif的使用在實際專案中我用的並不多,因為我感覺瑕疵挺多的,很多時候鋸齒比較嚴重,當然與圖存在很大的關係。關於生成gif的方法可以提供乙個 preloaders,基本是可以滿足需求的。由於錄製程式的原因,引起gif效果不清晰,可忽略。通過使用qmovie來設定動畫 可以呼叫setspeed 設定...