国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種字典樹生成方法及搜索方法

      文檔序號(hào):6367552閱讀:218來(lái)源:國(guó)知局
      專利名稱:一種字典樹生成方法及搜索方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及信息存儲(chǔ)與捜索技術(shù)領(lǐng)域,尤其涉及ー種字典樹生成方法及捜索方法。
      背景技術(shù)
      在智能手機(jī)中,為了讓用戶更加快捷的查找到聯(lián)系人,一般都會(huì)在撥號(hào)界面提供相應(yīng)的搜索功能。而撥號(hào)界面的輸入一般說(shuō)來(lái)都是數(shù)字和*/#號(hào),所以,一般都采用T9的對(duì)應(yīng)關(guān)系來(lái)表示拼音,然后采用拼音來(lái)搜索聯(lián)系人。T9的對(duì)應(yīng)關(guān)系如表一所不
      表一
      I號(hào)字符I字母j撥號(hào)字符I字母j撥號(hào)字符I字母
      I__2 _ ABC 3 _DEF
      4GHI 5JKL 6MNO
      7PQRS 8TUV 9WXYZ
      * 0 tt
      舉例來(lái)說(shuō),假設(shè)聯(lián)系人“李小明”的電話號(hào)碼是13912345678。如果用戶要在撥號(hào)界面
      搜索該聯(lián)系人“李小明”,就可以輸入LiXiaoMing的對(duì)應(yīng)的數(shù)字5494266464,通過(guò)T9搜索
      算法的匹配,就可以搜索到聯(lián)系人“李小明”并顯示他的電話號(hào)碼以及其他信息。為了方便用戶的更加方便的查找,T9搜索算法往往需要更加復(fù)雜的匹配模型。比如要搜索聯(lián)系人“李小明”,需要輸入5494266464這10個(gè)數(shù)字,為了簡(jiǎn)化用戶輸入,T9搜索算法往往允許用戶直接輸入LXM的對(duì)應(yīng)數(shù)字596三個(gè)數(shù)字就可以匹配聯(lián)系人李小明。同樣,LiXM, LXiaoM, LXMing, LiXiaoM...等等都可以匹配到聯(lián)系人李小明。一般說(shuō)來(lái),對(duì)于ー個(gè)聯(lián)系人,往往需要事先生成所對(duì)應(yīng)的若干可以搜索到該聯(lián)系人的匹配串,然后簡(jiǎn)單匹配用戶的輸入和事先生成的聯(lián)系人匹配串,就可以搜索到該聯(lián)系人。這種技術(shù)方案存在明顯的缺點(diǎn),仍然以聯(lián)系人“李小明”為例,需要生成的匹配串很多,共計(jì)42個(gè),具體如下
      L, Li, X,Xi, Xia, Xiao, M, Mi, Min, Ming, LiXiao, LX, LXi, LXia, LiX,LiXi, LiXia, LXiao, XiaoMing, XM, XMi, XMin, XiaoM, XiaoMi, XiaoMin, XMing,LiXiaoMing, LXM, LXMi, LXMin, LiXM, LiXMi, LiXMin, LXiaoM, LXiaoMi, LXiaoMin,LXMing, LiXiaoMj LiXiaoMij LiXiaoMinj LiXMingj LXiaoMing0這個(gè)數(shù)字隨著聯(lián)系人名字的增加而指數(shù)増加。如果用戶在存儲(chǔ)聯(lián)系人的時(shí)候在名字中也帶上聯(lián)系人所在公司、職務(wù)(這是很多人保存聯(lián)系人的方法),就會(huì)導(dǎo)致匹配串很多。據(jù)估算,假設(shè)平均一個(gè)聯(lián)系人的“名字”包含5個(gè)字符,平均每個(gè)字符的拼音長(zhǎng)度是4,則會(huì)存在208個(gè)匹配串。如果存在500個(gè)聯(lián)系人的話,則會(huì)存在10. 4萬(wàn)個(gè)匹配串。極端情況下(聯(lián)系人名字很長(zhǎng),聯(lián)系人數(shù)目很多時(shí))匹配串會(huì)指數(shù)級(jí)的增漲。大量的數(shù)據(jù)會(huì)導(dǎo)致兩個(gè)后果其ー是需要較大的存儲(chǔ)空間,其ニ是需要較長(zhǎng)的查詢時(shí)間。因?yàn)樗阉魇窃谝苿?dòng)設(shè)備中進(jìn)行的,移動(dòng)設(shè)備的存儲(chǔ)空間和CPU資源都比較寶貴。第ー個(gè)后果會(huì)帶來(lái)較大的浪費(fèi),而第二后果則會(huì)帶來(lái)很大的延遲,増加系統(tǒng)響應(yīng)用戶輸入的時(shí)間,導(dǎo)致用戶覺得輸入過(guò)程不流暢。

      發(fā)明內(nèi)容
      本發(fā)明的目的在于提出ー種字典樹生成方法及搜索方法,用以解決在T9搜索中由于大量數(shù)據(jù)導(dǎo)致的需要較大存儲(chǔ)空間和響應(yīng)時(shí)間的問(wèn)題,減少存儲(chǔ)空間并縮短響應(yīng)時(shí)間。為達(dá)此目的,本發(fā)明采用以下技術(shù)方案
      ー種字典樹生成方法,該方法包括
      將聯(lián)系人信息轉(zhuǎn)換為拼音;
      將所述拼音按照T9鍵盤的對(duì)應(yīng)方式對(duì)應(yīng)為數(shù)字;
      將所述數(shù)字中所述聯(lián)系人信息中每個(gè)漢字對(duì)應(yīng)的第一個(gè)所述拼音標(biāo)記為首字母節(jié)
      點(diǎn);
      生成字典樹,并存儲(chǔ)。所述將聯(lián)系人信息轉(zhuǎn)換為拼音,包括
      將所述聯(lián)系人信息從漢字轉(zhuǎn)換為全拼。所述將所述拼音按照T9鍵盤的對(duì)應(yīng)方式對(duì)應(yīng)為數(shù)字,包括
      將所述拼音中每個(gè)字母分別按照T9鍵盤的對(duì)應(yīng)方式對(duì)應(yīng)成為數(shù)字,生成ー個(gè)數(shù)字串。所述將所述數(shù)字中所述聯(lián)系人信息中每個(gè)漢字對(duì)應(yīng)的第一個(gè)所述拼音標(biāo)記為首字母節(jié)點(diǎn),包括
      將所述聯(lián)系人信息中每個(gè)漢字對(duì)應(yīng)的第一個(gè)所述拼音的字母進(jìn)行標(biāo)記;
      將所述拼音對(duì)應(yīng)成數(shù)字后,將所述每個(gè)漢字對(duì)應(yīng)的第一個(gè)所述拼音的字母所對(duì)應(yīng)的數(shù)字標(biāo)記為首字母節(jié)點(diǎn)。ー種字典樹搜索方法,用于如上所述的字典樹生成方法所生成的字典樹,該方法包括
      使用用戶輸入的第I個(gè)數(shù)字逐個(gè)匹配所有字典樹中所有的首字母節(jié)點(diǎn),將匹配的字典樹存入集合L[l] ;L是ー個(gè)集合的列表,長(zhǎng)度為M ;L[m]表示第m個(gè)集合;所述M為用戶輸入的數(shù)字的總數(shù);
      使用用戶輸入的第m+1個(gè)數(shù)字逐個(gè)匹配所述集合L[m]中字典樹中上次匹配的首字母的下ー個(gè)首字母節(jié)點(diǎn),將匹配的字典樹存入集合L[m+1];所述m=2,3……M;
      使用用戶輸入的第m+1個(gè)數(shù)字逐個(gè)匹配所述集合L[m]中字典樹中上次匹配的首字母節(jié)點(diǎn)與下ー個(gè)首字母節(jié)點(diǎn)之間的節(jié)點(diǎn),將匹配的字典樹存入集合L[m+k];所述k為上
      次匹配的首字母節(jié)點(diǎn)與下ー個(gè)首字母節(jié)點(diǎn)之間的節(jié)點(diǎn)的個(gè)數(shù);所述m=l,2,3......M-k,
      M_k+l〈=k〈=M0以此類推,直至將用戶輸入的M個(gè)數(shù)字均匹配完畢,將匹配的字典樹存入集合L[M];
      若所述集合L[M]不為空,則輸出所述集合L[M]中字典樹對(duì)應(yīng)的聯(lián)系人信息為搜索結(jié)果;否則,若所述集合L[M]為空,則輸出不匹配,無(wú)此聯(lián)系人為搜索結(jié)果。
      所述字典樹對(duì)應(yīng)的聯(lián)系人信息為搜索結(jié)果,包括
      將所述字典樹對(duì)應(yīng)的聯(lián)系人信息輸出,作為搜索結(jié)果。采用了本發(fā)明的技術(shù)方案,通過(guò)對(duì)聯(lián)系人信息中每個(gè)字的第一個(gè)拼音字母進(jìn)行標(biāo)識(shí),得到首字母節(jié)點(diǎn),生成字典樹來(lái)存儲(chǔ)聯(lián)系人信息。在進(jìn)行搜索時(shí),通過(guò)獲取用戶輸入的數(shù)字,分別與字典樹中的首字母節(jié)點(diǎn)進(jìn)行匹配,從而完成快速的搜索過(guò)程。本發(fā)明實(shí)施例提供的方案,在存儲(chǔ)字典樹的時(shí)候,占用較小的存儲(chǔ)空間,在進(jìn)行搜索的時(shí)候,能夠快速的得到捜索結(jié)果,從而降低字典樹的存儲(chǔ)對(duì)于存儲(chǔ)空間的要求,也能夠有效的減小搜索的響應(yīng)時(shí)間,提聞?dòng)脩趔w驗(yàn)度。


      圖I是本發(fā)明具體實(shí)施方式
      中本發(fā)明提供的字典樹生成方法原理流程圖;、 圖2是本發(fā)明具體實(shí)施方式
      中現(xiàn)有技術(shù)字典樹生成結(jié)構(gòu)示意 圖3是本發(fā)明具體實(shí)施方式
      中本發(fā)明提供的捜索方法原理流程圖。
      具體實(shí)施例方式下面結(jié)合附圖并通過(guò)具體實(shí)施方式
      來(lái)進(jìn)ー步說(shuō)明本發(fā)明的技術(shù)方案。本發(fā)明技術(shù)方案的主要思想是在存儲(chǔ)聯(lián)系人信息的時(shí)候,通過(guò)對(duì)聯(lián)系人信息中每個(gè)字的第一個(gè)拼音字母進(jìn)行標(biāo)識(shí),得到首字母節(jié)點(diǎn),生成字典樹來(lái)存儲(chǔ)聯(lián)系人信息。這樣就不必要生成所有的字符串進(jìn)行存儲(chǔ)聯(lián)系人信息,而僅僅需要生成9個(gè)字典樹就可以存儲(chǔ)所有的聯(lián)系人信息。在搜索聯(lián)系人信息的時(shí)候,將用戶輸入的數(shù)字分別與存儲(chǔ)的字典樹中的首字母節(jié)點(diǎn)進(jìn)行匹配,從而快速的定位聯(lián)系人信息所對(duì)應(yīng)的字典樹,從而快速的得到搜索結(jié)果。對(duì)于用戶輸入完整的聯(lián)系人信息的搜索過(guò)程,本發(fā)明技術(shù)方案也設(shè)定了在無(wú)法匹配首字母節(jié)點(diǎn)的情況下,或者在無(wú)法采用首字母節(jié)點(diǎn)匹配完成捜索的情況下,分別匹配兩個(gè)首字母節(jié)點(diǎn)之間的其它節(jié)點(diǎn),從而完整的匹配字典樹中的節(jié)點(diǎn),確??梢詼?zhǔn)確的得到搜索結(jié)果。本發(fā)明提供的技術(shù)方案中,以T9輸入法相應(yīng)的字典樹為例,來(lái)說(shuō)明字典樹的存儲(chǔ)和捜索的過(guò)程,實(shí)際上,對(duì)于其它的輸入法,同樣可以生成相應(yīng)的字典樹并進(jìn)行捜索,所需要的僅僅是將聯(lián)系人信息與字典樹自檢對(duì)應(yīng)的過(guò)程中由通過(guò)T9鍵盤的對(duì)應(yīng)改為相應(yīng)的對(duì)應(yīng)方法即可。本發(fā)明提供的技術(shù)方案同樣適用于其它可以通過(guò)字典樹來(lái)存儲(chǔ)信息,并根據(jù)字典樹來(lái)搜索信息的方案中。如圖I所示,為本發(fā)明提供的字典樹生成方法原理流程圖,具體如下
      步驟11,將聯(lián)系人信息轉(zhuǎn)換為拼音。在用戶存儲(chǔ)聯(lián)系人信息吋,由于聯(lián)系人信息是漢字或者其它的形式,首先的步驟需要將聯(lián)系人信息由漢字轉(zhuǎn)換成拼音,特別是需要轉(zhuǎn)換成全拼的形式。這個(gè)過(guò)程,一般的手機(jī)或者其它終端可以通過(guò)內(nèi)置的輸入法轉(zhuǎn)換程序完成。步驟12,將拼音按照T9鍵盤的對(duì)應(yīng)方式對(duì)應(yīng)為數(shù)字。將漢字轉(zhuǎn)換為拼音后,還需要進(jìn)ー步將拼音中每個(gè)字母分別按照T9鍵盤的對(duì)應(yīng)方式對(duì)應(yīng)成為數(shù)字,生成ー個(gè)數(shù)字串。這里的T9鍵盤就是手機(jī)或者其它終端上的鍵盤,具體的字母與數(shù)字的對(duì)應(yīng)關(guān)系可以參見表一的內(nèi)容。步驟13,將數(shù)字中聯(lián)系人信息中每個(gè)漢字對(duì)應(yīng)的第一個(gè)拼音字母標(biāo)記為首字母節(jié)點(diǎn)。這里,將聯(lián)系人信息中每個(gè)漢字對(duì)應(yīng)的第一個(gè)拼音的字母進(jìn)行標(biāo)記;然后將拼音對(duì)應(yīng)成數(shù)字后,將每個(gè)漢字對(duì)應(yīng)的第一個(gè)拼音的字母所對(duì)應(yīng)的數(shù)字標(biāo)記為首字母節(jié)點(diǎn)。步驟14,生成字典樹并存儲(chǔ)。這樣,經(jīng)過(guò)標(biāo)記首字母節(jié)點(diǎn)的字典樹就生成了。如圖2所示,分別為現(xiàn)有技術(shù)中生成的字典樹的形式與本發(fā)明提供的方案所生成的字典樹的形式,其中,仍然以聯(lián)系人“李小明”為例來(lái)說(shuō)明。對(duì)比可以知道,本發(fā)明提供的方案中生成的字典樹,整個(gè)系統(tǒng)中只存在9棵這樣的字典樹(因?yàn)?沒有任何字母對(duì)應(yīng))。而且,每棵字典樹都可以共享共有的前綴。當(dāng)然,最差的情況是所有的聯(lián)系人信息沒有共有的前綴,這種情況下,每個(gè)聯(lián)系人信息需要存儲(chǔ)ー個(gè)從根節(jié)點(diǎn)到葉子就可以。如果有500個(gè)聯(lián)系人信息,用現(xiàn)有技術(shù)中的字典樹生成方法,平均需要10. 4萬(wàn)個(gè)項(xiàng),現(xiàn)在最多需要500個(gè)從根節(jié)點(diǎn)到葉子的路徑(最壞情況),變成了原來(lái)的0. 48%。在平均情況下,這個(gè)數(shù)據(jù)會(huì)更加小。相應(yīng)的,本發(fā)明提供ー種字典樹搜索方法,適用于上述的字典樹生成方法生成的字典樹,如圖3所示,其原理流程如下
      步驟21,使用用戶輸入的第I個(gè)數(shù)字逐個(gè)匹配所有字典樹中所有的首字母節(jié)點(diǎn),將匹配的字典樹存入集合L[l]。 這里的L是ー個(gè)集合的列表,長(zhǎng)度為M (即M個(gè)集合),L[m]表示第m個(gè)集合,所述M為用戶輸入的數(shù)字的總數(shù)。這個(gè)步驟的原理在于獲取用戶輸入的首個(gè)數(shù)字,逐個(gè)匹配字典樹中的所有的首字母節(jié)點(diǎn),例如,用戶輸入的第一個(gè)數(shù)字用于匹配字典樹中的所有的首字母節(jié)點(diǎn),如果匹配就將該字典樹存儲(chǔ)在集合L[l]中,取得匹配的字典樹以及第ー個(gè)匹配項(xiàng)的位置。步驟22,使用用戶輸入的第m+1個(gè)數(shù)字逐個(gè)匹配集合L[m]中字典樹中上次匹配的首字母節(jié)點(diǎn)的下ー個(gè)首字母節(jié)點(diǎn),將匹配的字典樹存入集合L[m+1]。這里,m=2,3......M,就是在第m個(gè)數(shù)字匹配成功后,該字典樹就存儲(chǔ)在了集合
      LM中,之后,需要進(jìn)ー步匹配后續(xù)的數(shù)字,也就是用戶輸入的第m+1個(gè)數(shù)字。用戶輸入的第m+1個(gè)數(shù)字逐個(gè)匹配集合L[m]中字典樹中上次匹配的首字母節(jié)點(diǎn)的下ー個(gè)首字母節(jié)點(diǎn),將匹配的字典樹存入集合L[m+1]。步驟23,以此類推,直至將用戶輸入的M個(gè)數(shù)字均匹配完畢,將匹配的字典樹存入集合L[M]。這里,M是用戶輸入的數(shù)字的總數(shù),也就是需要逐個(gè)的匹配用戶輸入的數(shù)字與字典樹,直到用戶輸入的M個(gè)數(shù)字全部匹配過(guò)之后,將與之完全匹配的字典樹存入集合L[M]。步驟24,若集合L[M]不為空,則輸出集合L[M]中字典樹對(duì)應(yīng)的聯(lián)系人信息為搜索結(jié)果;否則,若集合L[M]為空,則輸出不匹配,無(wú)此聯(lián)系人為搜索結(jié)果。這里,當(dāng)用戶輸入的所有數(shù)字均匹配過(guò)之后,如果集合L[M]為空,即表示沒有合適的匹配結(jié)果,用戶輸入錯(cuò)誤,無(wú)此聯(lián)系人。當(dāng)集合L[M]不為空,表示有合適的匹配結(jié)果,從而需要將該結(jié)果輸出。這里的輸出,需要將該字典樹對(duì)應(yīng)的字符串轉(zhuǎn)換為聯(lián)系人信息進(jìn)行輸出,作為搜索結(jié)果。特別的,上述的捜索方法中,僅考慮了用戶輸入數(shù)字為聯(lián)系人信息首字母的情況,未能考慮用戶完整的輸入聯(lián)系人信息的狀況,或者用戶輸入了部分聯(lián)系人信息的狀況,因而,上述的方法中,還包括
      使用用戶輸入的第m+1個(gè)數(shù)字逐個(gè)匹配集合L[m]中字典樹中上次匹配的首字母節(jié)點(diǎn)與下ー個(gè)首字母節(jié)點(diǎn)之間的節(jié)點(diǎn),將匹配的字典樹存入集合L[m+k]ふ為上次匹配的首字母節(jié)點(diǎn)與下ー個(gè)首字母節(jié)點(diǎn)之間的節(jié)點(diǎn)的順序號(hào)。這里,如果用戶輸入的數(shù)字是聯(lián)系人信息全拼,而不是首字母對(duì)應(yīng)的數(shù)字吋,在
      捜索的過(guò)程中,就需要對(duì)字典樹中第一個(gè)首字母節(jié)點(diǎn)之后的所有節(jié)點(diǎn)進(jìn)行逐個(gè)的匹配,匹配的方法是逐個(gè)的將用戶輸入的數(shù)字和字典樹中第一個(gè)首字母節(jié)點(diǎn)之后的數(shù)字(節(jié)點(diǎn))匹配,并將能夠匹配的結(jié)果保存在ー個(gè)集合L[m+k]中。這里的k不是單一的取值,而是M_k+l〈=k〈=M,直到用戶輸入的所有數(shù)字匹配完成。這樣,可以將用戶輸入的所有數(shù)字與所有的字典樹之間匹配,避免了僅用首字母節(jié)點(diǎn)匹配帶來(lái)的匹配不全的問(wèn)題。若集合L[M]不為空,則輸出集合L[M]中字典樹對(duì)應(yīng)的聯(lián)系人信息為搜索結(jié)果;否貝U,若集合L[M]為空,則輸出不匹配,無(wú)此聯(lián)系人為搜索結(jié)果。事實(shí)上,為了能夠準(zhǔn)確的捜索結(jié)果,需要上述的兩種匹配的方法結(jié)合,既要匹配字典樹中第二個(gè)首字母節(jié)點(diǎn),也要匹配兩個(gè)首字母節(jié)點(diǎn)之間的其它節(jié)點(diǎn),然后將結(jié)果必定會(huì)存入集合L[M],將集合L[M]的字典樹對(duì)應(yīng)的聯(lián)系人信息輸出即為最終結(jié)果。上述的搜索方法中,前面提到的估計(jì),在所有聯(lián)系人中查找的復(fù)雜度是0(log(M*N)*C),而現(xiàn)有技術(shù)中的搜索方法的復(fù)雜程度是0(2m*N*C)。所以本發(fā)明提供的方法的復(fù)雜度也降低了很多倍,從而可以顯著降低系統(tǒng)的響應(yīng)時(shí)間。這里的C是聯(lián)系人的個(gè)數(shù)。綜上所述,本發(fā)明的技術(shù)方案,通過(guò)對(duì)聯(lián)系人信息中每個(gè)字的第一個(gè)拼音字母進(jìn)行標(biāo)識(shí),得到首字母節(jié)點(diǎn),生成字典樹來(lái)存儲(chǔ)聯(lián)系人信息。在進(jìn)行搜索時(shí),通過(guò)獲取用戶輸入的數(shù)字,分別與字典樹中的首字母節(jié)點(diǎn)進(jìn)行匹配,從而完成快速的搜索過(guò)程。本發(fā)明實(shí)施例提供的方案,在存儲(chǔ)字典樹的時(shí)候,占用較小的存儲(chǔ)空間,在進(jìn)行搜索的時(shí)候,能夠快速的得到捜索結(jié)果,從而降低字典樹的存儲(chǔ)對(duì)于存儲(chǔ)空間的要求,也能夠有效的減小搜索的響應(yīng)時(shí)間,提聞?dòng)脩趔w驗(yàn)度。以上所述,僅為本發(fā)明較佳的具體實(shí)施方式
      ,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉該技術(shù)的人在本發(fā)明所揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)該以權(quán)利要求的保護(hù)范圍為準(zhǔn)。
      權(quán)利要求
      1.一種字典樹生成方法,其特征在于,該方法包括 將聯(lián)系人信息轉(zhuǎn)換為拼音; 將所述拼音按照T9鍵盤的對(duì)應(yīng)方式對(duì)應(yīng)為數(shù)字; 將所述數(shù)字中所述聯(lián)系人信息中每個(gè)漢字對(duì)應(yīng)的第一個(gè)所述拼音標(biāo)記為首字母節(jié)占. 生成字典樹,并存儲(chǔ)。
      2.如權(quán)利要求I所述的方法,其特征在于,所述將聯(lián)系人信息轉(zhuǎn)換為拼音,包括 將所述聯(lián)系人信息從漢字轉(zhuǎn)換為全拼。
      3.如權(quán)利要求I所述的方法,其特征在于,所述將所述拼音按照T9鍵盤的對(duì)應(yīng)方式對(duì)應(yīng)為數(shù)字,包括 將所述拼音中每個(gè)字母分別按照T9鍵盤的對(duì)應(yīng)方式對(duì)應(yīng)成為數(shù)字,生成一個(gè)數(shù)字串。
      4.如權(quán)利要求I所述的方法,其特征在于,所述將所述數(shù)字中所述聯(lián)系人信息中每個(gè)漢字對(duì)應(yīng)的第一個(gè)所述拼音標(biāo)記為首字母節(jié)點(diǎn),包括 將所述聯(lián)系人信息中每個(gè)漢字對(duì)應(yīng)的第一個(gè)所述拼音的字母進(jìn)行標(biāo)記; 將所述拼音對(duì)應(yīng)成數(shù)字后,將所述每個(gè)漢字對(duì)應(yīng)的第一個(gè)所述拼音的字母所對(duì)應(yīng)的數(shù)字標(biāo)記為首字母節(jié)點(diǎn)。
      5.一種字典樹搜索方法,用于如權(quán)利要求I所述的字典樹生成方法所生成的字典樹,其特征在于,該方法包括 使用用戶輸入的第I個(gè)數(shù)字逐個(gè)匹配所有字典樹中所有的首字母節(jié)點(diǎn),將匹配的字典樹存入集合L[l] ;L是一個(gè)集合的列表,長(zhǎng)度為M ;L[m]表示第m個(gè)集合;所述M為用戶輸入的數(shù)字的總數(shù); 使用用戶輸入的第m+1個(gè)數(shù)字逐個(gè)匹配所述集合L[m]中字典樹中上次匹配的首字母的下一個(gè)首字母節(jié)點(diǎn),將匹配的字典樹存入集合L[m+1];所述m=2,3……M; 以此類推,直至將用戶輸入的M個(gè)數(shù)字均匹配完畢,將匹配的字典樹存入集合L[M]。
      6.如權(quán)利要求5所述的方法,其特征在于,該方法還包括 使用用戶輸入的第m+1個(gè)數(shù)字逐個(gè)匹配所述集合L[m]中字典樹中上次匹配的首字母節(jié)點(diǎn)與下一個(gè)首字母節(jié)點(diǎn)之間的節(jié)點(diǎn),將匹配的字典樹存入集合L [m+k];所述k為上次匹配的首字母節(jié)點(diǎn)與下一個(gè)首字母節(jié)點(diǎn)之間的節(jié)點(diǎn)的個(gè)數(shù);所述m=l,2,3......M-k,M_k+l〈=k〈=M0
      7.如權(quán)利要求5或6所述的方法,其特征在于,搜索結(jié)果的判斷方法,包括 若所述集合L[M]不為空,則輸出所述集合L[M]中字典樹對(duì)應(yīng)的聯(lián)系人信息為搜索結(jié)果;否則,若所述集合L[M]為空,則輸出不匹配,無(wú)此聯(lián)系人為搜索結(jié)果。
      8.如權(quán)利要求5或6所述的方法,其特征在于,所述字典樹對(duì)應(yīng)的聯(lián)系人信息為搜索結(jié)果,包括 將所述字典樹對(duì)應(yīng)的聯(lián)系人信息輸出,作為搜索結(jié)果。
      全文摘要
      本發(fā)明公開了一種字典樹生成方法及搜索方法,包括將聯(lián)系人信息轉(zhuǎn)換為拼音;將所述拼音按照T9鍵盤的對(duì)應(yīng)方式對(duì)應(yīng)為數(shù)字;將所述數(shù)字中所述聯(lián)系人信息中每個(gè)漢字對(duì)應(yīng)的第一個(gè)所述拼音標(biāo)記為首字母節(jié)點(diǎn);生成字典樹并存儲(chǔ)。本發(fā)明還公開了一種字典樹搜索方法。采用了本發(fā)明的技術(shù)方案,在存儲(chǔ)字典樹的時(shí)候,占用較小的存儲(chǔ)空間,在進(jìn)行搜索的時(shí)候,能夠快速的得到搜索結(jié)果,從而降低字典樹的存儲(chǔ)對(duì)于存儲(chǔ)空間的要求,也能夠有效的減小搜索的響應(yīng)時(shí)間,提高用戶體驗(yàn)度。
      文檔編號(hào)G06F17/30GK102737105SQ20121009508
      公開日2012年10月17日 申請(qǐng)日期2012年3月31日 優(yōu)先權(quán)日2012年3月31日
      發(fā)明者喬忠良, 劉新宇, 王文林 申請(qǐng)人:北京小米科技有限責(zé)任公司
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1