两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

用于存儲拼音的存儲結(jié)構(gòu)及拼音輸入方法

文檔序號:6444737閱讀:314來源:國知局
專利名稱:用于存儲拼音的存儲結(jié)構(gòu)及拼音輸入方法
技術(shù)領(lǐng)域
本發(fā)明涉及拼音處理技術(shù)領(lǐng)域,具體地說,是涉及一種用于存儲拼音的存儲結(jié)構(gòu)及基于該存儲結(jié)構(gòu)的拼音輸入方法。
背景技術(shù)
在嵌入式系統(tǒng)設(shè)備中,如手機(jī)、數(shù)字機(jī)頂盒等,大都需要中文漢字的輸入,其中拼音輸入是最常用的一種。由于嵌入式系統(tǒng)CPU性能較低、內(nèi)存等資源較少,因此,嵌入式系統(tǒng)對通過拼音獲得漢字的輸入方法要求較高,一方面要求輸入法高效,對查詢結(jié)果的篩選及查詢效率較高,另一方面,要盡可能地減少對內(nèi)存的占用?;谏鲜銮度胧较到y(tǒng)的特殊性,目前在嵌入式系統(tǒng)中,構(gòu)造拼音外碼到漢字內(nèi)碼的轉(zhuǎn)換通常有兩種方法靜態(tài)數(shù)組和有序樹。采用靜態(tài)數(shù)組的方法,也就是將每個(gè)拼音(總共300多個(gè))定義為一個(gè)數(shù)組。這種方法雖然實(shí)現(xiàn)簡單,但是具有固有的缺點(diǎn)(1)不便于實(shí)現(xiàn)漢字的聯(lián)想功能;(2)程序運(yùn)行之初需要為這些數(shù)組靜態(tài)分配內(nèi)存空間,占用較多的系統(tǒng)資源;(3)查詢效率不高。采用有序樹的方法,最常用的就是Trie樹。Trie樹,又稱單詞查找樹或鍵樹,是一種樹形結(jié)構(gòu),是一種哈希樹的變種。典型應(yīng)用是用于統(tǒng)計(jì)和排序大量的字符串(但不僅限于字符串),所以經(jīng)常被搜索引擎系統(tǒng)用于文本詞頻統(tǒng)計(jì)。在現(xiàn)有的拼音輸入法設(shè)計(jì)中,"Trie 樹的存儲結(jié)構(gòu)為多叉鏈表,樹中的每個(gè)結(jié)點(diǎn)除根結(jié)點(diǎn)外均包括有一個(gè)字符,每個(gè)結(jié)點(diǎn)均包括有1個(gè)值域和26個(gè)指針域共27個(gè)域,而根結(jié)點(diǎn)也包括有沈個(gè)指針域,其中,26個(gè)指針域?qū)?yīng)于沈個(gè)英文字母。采用Trie樹存儲拼音并作為拼音輸入結(jié)構(gòu)時(shí),雖然可以提高查找速度,但是,由于每個(gè)結(jié)點(diǎn)均通過沈個(gè)指針域指向沈個(gè)英文字母,而在實(shí)際拼音組建時(shí),很多指針域是無效的、也即無法組成拼音,因此,大量無效的指針域占用了相當(dāng)大的內(nèi)存空間資源,進(jìn)而降低了內(nèi)存的工作效率,導(dǎo)致嵌入式系統(tǒng)整體性能下降。

發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種用于存儲拼音的存儲結(jié)構(gòu)及基于該存儲結(jié)構(gòu)的拼音輸入方法,以減少存儲結(jié)構(gòu)所占的存儲空間,提高查找拼音及根據(jù)拼音查找漢字的速度。為實(shí)現(xiàn)上述發(fā)明目的,本發(fā)明所提供的存儲結(jié)構(gòu)采用下述技術(shù)方案來實(shí)現(xiàn)
一種用于存儲拼音的存儲結(jié)構(gòu),所述存儲結(jié)構(gòu)為一樹形結(jié)構(gòu),樹形結(jié)構(gòu)的根結(jié)點(diǎn)包括有指向其一個(gè)子結(jié)點(diǎn)的指針域,樹形結(jié)構(gòu)中除根結(jié)點(diǎn)和葉結(jié)點(diǎn)之外的其他結(jié)點(diǎn)各包括有指向其父結(jié)點(diǎn)的指針域、指向其一個(gè)子結(jié)點(diǎn)的指針域及指向一個(gè)兄弟結(jié)點(diǎn)的指針域,屬于同一層的兄弟結(jié)點(diǎn)依次鏈接形成一個(gè)鏈表,樹形結(jié)構(gòu)中的葉結(jié)點(diǎn)包括有指向其父結(jié)點(diǎn)的指針域。本發(fā)明通過對傳統(tǒng)的Trie樹進(jìn)行改進(jìn)而提出一種新型樹形結(jié)構(gòu)的存儲結(jié)構(gòu)來存儲拼音,根結(jié)點(diǎn)僅需要一個(gè)指針域指向其一個(gè)子結(jié)點(diǎn),其余結(jié)點(diǎn)最多通過三個(gè)結(jié)點(diǎn)分別指向父結(jié)點(diǎn)、子結(jié)點(diǎn)及兄弟結(jié)點(diǎn),大大減少了結(jié)點(diǎn)的指針域,提高了指針域的有效性,降低了存儲結(jié)構(gòu)所占用的存儲空間,進(jìn)而可以提高拼音的查找速度。
如上所述的存儲結(jié)構(gòu),為實(shí)現(xiàn)對拼音相對應(yīng)的漢字進(jìn)行快速定位,所述樹形結(jié)構(gòu)中除根結(jié)點(diǎn)之外的其他結(jié)點(diǎn)還包括有與該結(jié)點(diǎn)所包含的拼音字母相對應(yīng)的關(guān)鍵字、由根結(jié)點(diǎn)至該結(jié)點(diǎn)的路徑構(gòu)成的拼音對應(yīng)的漢字在字庫中的起始位置值及相同拼音的漢字個(gè)數(shù)值。
如上所述的存儲結(jié)構(gòu),為進(jìn)一步提高查找速度,所述屬于同一層的兄弟結(jié)點(diǎn)依次鏈接形成的鏈表中,根據(jù)結(jié)點(diǎn)的關(guān)鍵字的使用頻率對結(jié)點(diǎn)排序,形成有序的鏈表。
如上所述的存儲結(jié)構(gòu),所述指向一個(gè)兄弟結(jié)點(diǎn)的指針域?yàn)橹赶蛴倚值芙Y(jié)點(diǎn)的指針域或指向左兄弟結(jié)點(diǎn)的指針域,優(yōu)選為指向右兄弟結(jié)點(diǎn)的指針域。
為實(shí)現(xiàn)本發(fā)明目的,本發(fā)明所提供的拼音輸入方法采用下述技術(shù)方案來實(shí)現(xiàn)一種拼音輸入方法,該方法基于上述所述的用于存儲拼音的存儲結(jié)構(gòu),該方法具體包括下述步驟根據(jù)漢字拼音規(guī)則構(gòu)建樹形結(jié)構(gòu),以存儲拼音;從樹形結(jié)構(gòu)的根結(jié)點(diǎn)出發(fā),每個(gè)拼音字母對應(yīng)一層結(jié)點(diǎn),沿著與給定的拼音相應(yīng)的指針逐層向下查找;在找到與給定的拼音相等的結(jié)點(diǎn)后,獲取由根結(jié)點(diǎn)至該結(jié)點(diǎn)的路徑構(gòu)成的拼音對應(yīng)的漢字在字庫中的起始位置值及相同拼音的漢字個(gè)數(shù)值;根據(jù)起始位置值及漢字個(gè)數(shù)值從漢字庫中讀取漢字并顯示。
如上所述的拼音輸入方法,若查找到樹形結(jié)構(gòu)的葉結(jié)點(diǎn)仍未找到與給定的拼音相等的結(jié)點(diǎn),則提示拼音輸入錯(cuò)誤。
如上所述的拼音輸入方法,所述拼音輸入方法優(yōu)選應(yīng)用于數(shù)字機(jī)頂盒、手機(jī)等嵌入式系統(tǒng)設(shè)備中,以減少對嵌入式系統(tǒng)設(shè)備有限資源的占用。
與現(xiàn)有技術(shù)相比,本發(fā)明的優(yōu)點(diǎn)和積極效果是本發(fā)明通過對傳統(tǒng)的Trie樹進(jìn)行改進(jìn)而提出一種新型樹形結(jié)構(gòu)的存儲結(jié)構(gòu)來存儲拼音,根結(jié)點(diǎn)僅需要一個(gè)指針域指向其一個(gè)子結(jié)點(diǎn),其余結(jié)點(diǎn)最多通過三個(gè)結(jié)點(diǎn)分別指向父結(jié)點(diǎn)、子結(jié)點(diǎn)及兄弟結(jié)點(diǎn),大大減少了結(jié)點(diǎn)的指針域,提高了指針域的有效性,降低了存儲結(jié)構(gòu)所占用的存儲空間;在應(yīng)用這種存儲結(jié)構(gòu)進(jìn)行拼音輸入時(shí),可以提高拼音的查找速度,進(jìn)而提高根據(jù)拼音查找漢字的速度。
結(jié)合附圖閱讀本發(fā)明的具體實(shí)施方式
后,本發(fā)明的其他特點(diǎn)和優(yōu)點(diǎn)將變得更加清林疋。


圖1是本發(fā)明用于存儲拼音的存儲結(jié)構(gòu)一個(gè)實(shí)施例的示意圖; 圖2是本發(fā)明拼音輸入方法一個(gè)實(shí)施例的流程圖。
具體實(shí)施方式
下面結(jié)合附圖和具體實(shí)施方式
對本發(fā)明的技術(shù)方案作進(jìn)一步詳細(xì)的說明。
請參考圖1,該圖1示出了本發(fā)明用于存儲拼音的存儲結(jié)構(gòu)一個(gè)實(shí)施例的示意圖。
如圖1所示,以包含拼音a、ai、an、ao、ang、ba、ban、da的部分存儲結(jié)構(gòu)為例,該實(shí)施例的存儲結(jié)構(gòu)為一樹形結(jié)構(gòu),包括有根結(jié)點(diǎn)11,根結(jié)點(diǎn)11作為父結(jié)點(diǎn),其子結(jié)點(diǎn)構(gòu)成第一層分支結(jié)點(diǎn)12,第一層分支結(jié)點(diǎn)12共包括有4個(gè)子結(jié)點(diǎn),對應(yīng)的字母分別為a、b、c、 d ;該層中的結(jié)點(diǎn)a作為父結(jié)點(diǎn),其子結(jié)點(diǎn)構(gòu)成第二層分支結(jié)點(diǎn)13,第二層分支結(jié)點(diǎn)13包括的子結(jié)點(diǎn)有i、n、o等;第二層分支結(jié)點(diǎn)13作為父結(jié)點(diǎn),其包括有一個(gè)葉節(jié)點(diǎn)g。此外,第一層分支結(jié)點(diǎn)12中的結(jié)點(diǎn)b作為父結(jié)點(diǎn),其下的第二層分支結(jié)點(diǎn)包括有一個(gè)子結(jié)點(diǎn)a,而子結(jié)點(diǎn)a又包括有一個(gè)葉節(jié)點(diǎn)η。第一層分支結(jié)點(diǎn)12中的分支結(jié)點(diǎn)d作為父結(jié)點(diǎn),還包括有一個(gè)葉節(jié)點(diǎn)a。在圖1示出的存儲結(jié)構(gòu)中,根結(jié)點(diǎn)11包括有指向其一個(gè)子結(jié)點(diǎn)a的指針域,葉結(jié)點(diǎn)g包括有指向其父結(jié)點(diǎn)η的指針域,葉結(jié)點(diǎn)η包括有指向其父結(jié)點(diǎn)a的指針域,而葉結(jié)點(diǎn) a包括有指向其父結(jié)點(diǎn)d的指針域。除了根結(jié)點(diǎn)11及所述的三個(gè)葉節(jié)點(diǎn)之外,該實(shí)施例存儲結(jié)構(gòu)中的其他結(jié)點(diǎn)各包括有三個(gè)指針域,分別為指向父結(jié)點(diǎn)的指針域、指向一個(gè)子結(jié)點(diǎn)的指針域及指向一個(gè)兄弟結(jié)點(diǎn)的指針域。以第一層分支結(jié)點(diǎn)12中的結(jié)點(diǎn)a為例,該結(jié)點(diǎn)包括有指向其父結(jié)點(diǎn)、即根結(jié)點(diǎn)11的指針域,還包括有指向一個(gè)子結(jié)點(diǎn)i的指針域,還包括有一個(gè)指向其右兄弟結(jié)點(diǎn)b的一個(gè)指針域。再以第二層分支結(jié)點(diǎn)13中的結(jié)點(diǎn)η為例,該結(jié)點(diǎn)包括有指向其父結(jié)點(diǎn)、即第一層分支結(jié)點(diǎn)12中的結(jié)點(diǎn)a的指針域,還包括有指向一個(gè)子結(jié)點(diǎn)、即葉結(jié)點(diǎn)g的指針域,還包括有一個(gè)指向其右兄弟結(jié)點(diǎn)ο的一個(gè)指針域。在該實(shí)施例中,同屬于同一層的兄弟結(jié)點(diǎn)依次鏈接形成一個(gè)鏈表,父結(jié)點(diǎn)通過指向一個(gè)子結(jié)點(diǎn)的指針域指向其所有子結(jié)點(diǎn)構(gòu)成的鏈表。具體來說,同屬于根結(jié)點(diǎn)11的第一層分支結(jié)點(diǎn)12中的四個(gè)結(jié)點(diǎn)a、b、c、d作為兄弟結(jié)點(diǎn),依次鏈接形成鏈表,根結(jié)點(diǎn)11通過指向其子結(jié)點(diǎn)a的指針域而指向其所有子結(jié)點(diǎn)構(gòu)成的鏈表;同屬于第一層分支結(jié)點(diǎn)12中的父結(jié)點(diǎn)a的第二次分支結(jié)點(diǎn)13中的三個(gè)結(jié)點(diǎn)i、n、o作為兄弟結(jié)點(diǎn),依次鏈接形成鏈表,父結(jié)點(diǎn)a通過一個(gè)指向其子結(jié)點(diǎn)i的指針域而指向其所有子結(jié)點(diǎn)構(gòu)成的鏈表。采用這種存儲結(jié)構(gòu)之后,不管父結(jié)點(diǎn)有多少個(gè)子結(jié)點(diǎn),均可以通過一個(gè)指針域而指向所有的子結(jié)點(diǎn),大大降低了父結(jié)點(diǎn)的指針域,減少了對存儲空間的占用。在由兄弟結(jié)點(diǎn)依次鏈接形成鏈表時(shí),可以通過結(jié)點(diǎn)指向一個(gè)兄弟結(jié)點(diǎn)的指針域進(jìn)行鏈接。指向兄弟結(jié)點(diǎn)的指針域可以是指向右兄弟結(jié)點(diǎn)的指針域,也可以是指向左兄弟結(jié)點(diǎn)的指針域,優(yōu)選為指向右兄弟結(jié)點(diǎn)的指針域,以便于進(jìn)行鏈表查找。以第一層分支結(jié)點(diǎn)12 為例,其中的一個(gè)結(jié)點(diǎn)a包括有執(zhí)行右兄弟結(jié)點(diǎn)b的指針域,結(jié)點(diǎn)b包括有一個(gè)指向其右兄弟結(jié)點(diǎn)c的一個(gè)指針域,結(jié)點(diǎn)c又包括有一個(gè)指向其右兄弟結(jié)點(diǎn)d的指針域,…,通過所述指向右兄弟結(jié)點(diǎn)的指針域,第一層分支結(jié)點(diǎn)12中的結(jié)點(diǎn)a、結(jié)點(diǎn)b、結(jié)點(diǎn)c及結(jié)點(diǎn)d依次鏈接形成了鏈表。而且,在該實(shí)施例中,屬于同一層的兄弟結(jié)點(diǎn)依次鏈接形成的鏈表中,可以根據(jù)結(jié)點(diǎn)的關(guān)鍵字的使用頻率對結(jié)點(diǎn)進(jìn)行排序,形成有序的鏈表,以減少從父結(jié)點(diǎn)到子結(jié)點(diǎn)進(jìn)行字母匹配查找的過程,提高拼音的查找速度。此外,該實(shí)施例中,為實(shí)現(xiàn)對拼音相對應(yīng)的漢字進(jìn)行快速定位,樹形結(jié)構(gòu)中除根結(jié)點(diǎn)11之外的其他結(jié)點(diǎn)還包括有與該結(jié)點(diǎn)所包含的拼音字母相對應(yīng)的關(guān)鍵字、由根結(jié)點(diǎn)至該結(jié)點(diǎn)的路徑構(gòu)成的拼音對應(yīng)的漢字在字庫中的起始位置值及相同拼音的漢字個(gè)數(shù)值等共3個(gè)值域。請參考圖2,該圖2示出了本發(fā)明拼音輸入方法一個(gè)實(shí)施例的流程圖。該實(shí)施例的拼音輸入方法基于圖1實(shí)施例的拼音存儲結(jié)構(gòu)進(jìn)行拼音的查找,具體流程如下步驟21 流程開始。
步驟22 根據(jù)漢字拼音規(guī)則構(gòu)建樹形結(jié)構(gòu)。
該步驟是根據(jù)現(xiàn)有存在的300多個(gè)漢字拼音及其拼寫規(guī)則填充圖1實(shí)施例所述的樹形結(jié)構(gòu)中的各個(gè)結(jié)點(diǎn),除根結(jié)點(diǎn)之外,每個(gè)結(jié)點(diǎn)包括有一個(gè)字母,形成存儲有拼音的樹形結(jié)構(gòu)。
步驟23 從樹形結(jié)構(gòu)的根結(jié)點(diǎn)出發(fā),根據(jù)給定的拼音逐層向下查找。
用戶輸入待查詢的拼音,以此拼音作為給定的拼音,從樹形結(jié)構(gòu)中查找與給定的拼音相匹配的結(jié)點(diǎn)值。在查找時(shí),從根結(jié)點(diǎn)出發(fā),每個(gè)拼音字母對應(yīng)一層結(jié)點(diǎn),沿著與給定的拼音相應(yīng)的指針逐層向下查找。例如,以圖1實(shí)施例的樹形結(jié)構(gòu)為例,給定的拼音為 “ang”,則從根結(jié)點(diǎn)11出發(fā),根據(jù)根結(jié)點(diǎn)11指向其子結(jié)點(diǎn)的指針域而獲得其子結(jié)點(diǎn)構(gòu)成的鏈表,并依次查找鏈表中的結(jié)點(diǎn),找到與給定拼音中的第一個(gè)字母“a”相等的關(guān)鍵字對應(yīng)的結(jié)點(diǎn),也即找到了第一層分支結(jié)點(diǎn)12中的結(jié)點(diǎn)a。然后,根據(jù)該結(jié)點(diǎn)a指向其子結(jié)點(diǎn)的指針域向下查找,再從其子結(jié)點(diǎn)構(gòu)成的鏈表中查找與給定拼音中的第二個(gè)字母“η”相等的關(guān)鍵字對應(yīng)的結(jié)點(diǎn),從而找到了結(jié)點(diǎn)η。由于還未查找到與給定拼音“ang”相等的結(jié)點(diǎn),則再從結(jié)點(diǎn)η繼續(xù)向其子結(jié)點(diǎn)查找,找到了結(jié)點(diǎn)η的葉結(jié)點(diǎn)g的關(guān)鍵字與給定拼音“ang”中的第三個(gè)字母“g”相等,則停止查找。有的情況下,可能無需查找到葉結(jié)點(diǎn)即可獲得與給定拼音相等的結(jié)點(diǎn),則也停止查找。
步驟M 判斷是否查找到結(jié)點(diǎn)。若是,轉(zhuǎn)至步驟沈;若否,執(zhí)行步驟25。
根據(jù)是否找到與給定的拼音相等的結(jié)點(diǎn)來判斷是否查找到需要的結(jié)點(diǎn),當(dāng)然,這里的與給定的拼音相等是指從根結(jié)點(diǎn)開始一直到最后一個(gè)結(jié)點(diǎn)經(jīng)過的路徑中的所有結(jié)點(diǎn)組合起來后的值與給定的拼音相等。
步驟25 若沒有找到相等的結(jié)點(diǎn),則提示拼音輸入錯(cuò)誤,然后轉(zhuǎn)至步驟觀。
步驟沈若查找到相等的結(jié)點(diǎn),則獲取相應(yīng)結(jié)點(diǎn)的起始位置值即同拼音的漢字個(gè)數(shù)值。
這里,結(jié)點(diǎn)的起始位置是指該結(jié)點(diǎn)所包含的、由根結(jié)點(diǎn)至該結(jié)點(diǎn)的路徑構(gòu)成的拼音對應(yīng)的漢字在字庫中的起始位置值,而且,該結(jié)點(diǎn)也包括有與根結(jié)點(diǎn)至該結(jié)點(diǎn)的路徑所構(gòu)成的拼音相同的漢字個(gè)數(shù)值。在找到結(jié)點(diǎn)后,可以直接讀取該結(jié)點(diǎn)的這兩個(gè)值。
步驟27 根據(jù)起始位置值及漢字個(gè)數(shù)值從漢字庫中讀取漢字并顯示。
—般的,在漢字庫中,相同拼音的漢字連續(xù)存放,且對外提供一個(gè)起始位置指針, 因此,通過獲取的起始位置值及漢字個(gè)數(shù)值就可方便地從漢字庫中得到拼音相同的漢字。
上述實(shí)施例的拼音輸入方法基于圖1實(shí)施例中的拼音存儲結(jié)構(gòu),能夠?qū)崿F(xiàn)拼音的動態(tài)查找,且查找速度快,所用拼音結(jié)構(gòu)占用的存儲空間少,尤其適合于應(yīng)用在數(shù)字機(jī)頂盒、手機(jī)等嵌入式系統(tǒng)設(shè)備中,以減少對嵌入式系統(tǒng)設(shè)備有限資源的占用。
以上實(shí)施例僅用以說明本發(fā)明的技術(shù)方案,而非對其進(jìn)行限制;盡管參照前述實(shí)施例對本發(fā)明進(jìn)行了詳細(xì)的說明,對于本領(lǐng)域的普通技術(shù)人員來說,依然可以對前述實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明所要求保護(hù)的技術(shù)方案的精神和范圍。
權(quán)利要求
1.一種用于存儲拼音的存儲結(jié)構(gòu),其特征在于,所述存儲結(jié)構(gòu)為一樹形結(jié)構(gòu),樹形結(jié)構(gòu)的根結(jié)點(diǎn)包括有指向其一個(gè)子結(jié)點(diǎn)的指針域,樹形結(jié)構(gòu)中除根結(jié)點(diǎn)和葉結(jié)點(diǎn)之外的其他結(jié)點(diǎn)各包括有指向其父結(jié)點(diǎn)的指針域、指向其一個(gè)子結(jié)點(diǎn)的指針域及指向一個(gè)兄弟結(jié)點(diǎn)的指針域,屬于同一層的兄弟結(jié)點(diǎn)依次鏈接形成一個(gè)鏈表,樹形結(jié)構(gòu)中的葉結(jié)點(diǎn)包括有指向其父結(jié)點(diǎn)的指針域。
2.根據(jù)權(quán)利要求1所述的存儲結(jié)構(gòu),其特征在于,所述樹形結(jié)構(gòu)中除根結(jié)點(diǎn)之外的其他結(jié)點(diǎn)還包括有與該結(jié)點(diǎn)所包含的拼音字母相對應(yīng)的關(guān)鍵字、由根結(jié)點(diǎn)至該結(jié)點(diǎn)的路徑構(gòu)成的拼音對應(yīng)的漢字在字庫中的起始位置值及相同拼音的漢字個(gè)數(shù)值。
3.根據(jù)權(quán)利要求1或2所述的存儲結(jié)構(gòu),其特征在于,所述屬于同一層的兄弟結(jié)點(diǎn)依次鏈接形成的鏈表中,根據(jù)結(jié)點(diǎn)的關(guān)鍵字的使用頻率對結(jié)點(diǎn)排序,形成有序的鏈表。
4.根據(jù)權(quán)利要求3所述的存儲結(jié)構(gòu),其特征在于,所述指向一個(gè)兄弟結(jié)點(diǎn)的指針域?yàn)橹赶蛴倚值芙Y(jié)點(diǎn)的指針域。
5.根據(jù)權(quán)利要求3所述的存儲結(jié)構(gòu),其特征在于,所述指向一個(gè)兄弟結(jié)點(diǎn)的指針域?yàn)橹赶蜃笮值芙Y(jié)點(diǎn)的指針域。
6.一種拼音輸入方法,其特征在于,該方法基于上述權(quán)利要求1至5中任一項(xiàng)所述的用于存儲拼音的存儲結(jié)構(gòu),該方法包括下述步驟根據(jù)漢字拼音規(guī)則構(gòu)建樹形結(jié)構(gòu),以存儲拼音;從樹形結(jié)構(gòu)的根結(jié)點(diǎn)出發(fā),每個(gè)拼音字母對應(yīng)一層結(jié)點(diǎn),沿著與給定的拼音相應(yīng)的指針逐層向下查找;在找到與給定的拼音相等的結(jié)點(diǎn)后,獲取由根結(jié)點(diǎn)至該結(jié)點(diǎn)的路徑構(gòu)成的拼音對應(yīng)的漢字在字庫中的起始位置值及相同拼音的漢字個(gè)數(shù)值;根據(jù)起始位置值及漢字個(gè)數(shù)值從漢字庫中讀取漢字并顯示。
7.根據(jù)權(quán)利要求6所述的拼音輸入方法,其特征在于,若查找到樹形結(jié)構(gòu)的葉結(jié)點(diǎn)仍未找到與給定的拼音相等的結(jié)點(diǎn),則提示拼音輸入錯(cuò)誤。
8.根據(jù)權(quán)利要求6或7所述的拼音輸入方法,其特征在于,所述拼音輸入方法應(yīng)用于嵌入式系統(tǒng)設(shè)備中。
9.根據(jù)權(quán)利要求8所述的拼音輸入方法,其特征在于,所述嵌入式系統(tǒng)設(shè)備為數(shù)字機(jī)頂盒。
10.根據(jù)權(quán)利要求8所述的拼音輸入方法,其特征在于,所述嵌入式系統(tǒng)設(shè)備為手機(jī)。
全文摘要
本發(fā)明公開了一種用于存儲拼音的存儲結(jié)構(gòu)及拼音輸入方法。所述存儲結(jié)構(gòu)為一樹形結(jié)構(gòu),樹形結(jié)構(gòu)的根結(jié)點(diǎn)包括有指向其一個(gè)子結(jié)點(diǎn)的指針域,樹形結(jié)構(gòu)中除根結(jié)點(diǎn)和葉結(jié)點(diǎn)之外的其他結(jié)點(diǎn)各包括有指向其父結(jié)點(diǎn)的指針域、指向其一個(gè)子結(jié)點(diǎn)的指針域及指向一個(gè)兄弟結(jié)點(diǎn)的指針域,屬于同一層的兄弟結(jié)點(diǎn)依次鏈接形成一個(gè)鏈表,樹形結(jié)構(gòu)中的葉結(jié)點(diǎn)包括有指向其父結(jié)點(diǎn)的指針域。應(yīng)用本發(fā)明的存儲結(jié)構(gòu)及拼音輸入方法,可以減少存儲結(jié)構(gòu)所占的存儲空間,提高查找拼音及根據(jù)拼音查找漢字的速度。
文檔編號G06F17/30GK102521418SQ20111045783
公開日2012年6月27日 申請日期2011年12月31日 優(yōu)先權(quán)日2011年12月31日
發(fā)明者田友強(qiáng) 申請人:青島海信寬帶多媒體技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
青海省| 西昌市| 沙河市| 咸阳市| 小金县| 双柏县| 儋州市| 蓬安县| 分宜县| 盐池县| 当阳市| 喜德县| 温泉县| 旌德县| 阿拉善右旗| 五大连池市| 双辽市| 香格里拉县| 新民市| 阿坝县| 清镇市| 美姑县| 罗江县| 静乐县| 从江县| 拉萨市| 宁阳县| 平江县| 伽师县| 涪陵区| 赫章县| 贺州市| 贺兰县| 纳雍县| 莲花县| 南通市| 临邑县| 资溪县| 县级市| 涞源县| 莲花县|