亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種基于后綴數(shù)組的短信查找方法及系統(tǒng)與流程

文檔序號:11582918閱讀:293來源:國知局
一種基于后綴數(shù)組的短信查找方法及系統(tǒng)與流程

本發(fā)明涉及數(shù)據(jù)查找領域,更具體地,涉及一種基于后綴數(shù)組的短信查找方法及系統(tǒng)。



背景技術:

后綴數(shù)組最初是作為后綴樹的一種替代被提出的,與后綴樹相比,存儲后綴數(shù)組所需的空間更少,應用范圍更廣。在后綴數(shù)組被提出后,后綴數(shù)組作為一種重要的索引數(shù)據(jù)結構,被廣泛的應用于生物信息學、全文索引、字符串匹配、頻繁字符串挖掘以及順序分析和聚類分析等領域。

目前,即時通訊設備一般都提供模糊查找短信的功能。模糊查找是指查找時不必以搜索目標的全稱為關鍵詞進行查找,而是可以以搜索目標的部分名稱為關鍵詞進行查找的過程。如何實現(xiàn)快速模糊查找短信對用戶而言至關重要,尤其是當短信息數(shù)量越來越大時,會極大地影響用戶的體驗?,F(xiàn)有的查找短信的方案是根據(jù)關鍵詞對短信內(nèi)容列表進行逐字符的多次遍歷,文本的模式匹配多采用精確匹配的模式,這種模式在查找時需要耗費較長的時間。隨著時間的推移,尤其是對模糊匹配的需求,這些技術都不太適合現(xiàn)實的需求。



技術實現(xiàn)要素:

本發(fā)明為解決以上現(xiàn)有技術提供的短信查找方法耗時較長的缺陷,提供了一種基于后綴數(shù)組的短信查找方法。

為實現(xiàn)以上發(fā)明目的,采用的技術方案是:

一種基于后綴數(shù)組的短信查找方法,包括以下步驟:

s1.為短信列表中的每條短信根據(jù)其短信字符串內(nèi)容構建后綴數(shù)組,然后按照預設的規(guī)則對構造得到的所有后綴數(shù)組中的各個后綴數(shù)組項進行排序;

s2.當接收到一個查找短信的關鍵詞時,按照接收字符的順序,將接收到的關鍵詞中的各個字符依次作為二分查找的索引;

s3.使用關鍵詞中的第i個字符作為索引在已排序的所有后綴數(shù)組項中進行二分查找,將首字符為該索引的后綴數(shù)組項對應的后綴數(shù)組作為第i次查找的結果;i的初始值為1;

s4.令i=i+1然后使用關鍵詞中的第i個字符作為索引在第i-1次查找結果包含的后綴數(shù)組項中進行二分查找,然后將首字符為該索引的后綴數(shù)組項對應的后綴數(shù)組作為第i次查找的結果;

s5.重復執(zhí)行步驟s4直至第i>n,此時將第i次查找的結果對應的短信作為短信查找結果進行輸出,n為關鍵詞包含的字符數(shù)。

上述方案中,本發(fā)明提供的方法具有查詢速度快的特點,在進行查找時無需遍歷每條短信,其查詢效率高;尤其是當查詢的關鍵詞較長時,查找的速度提升明顯。

優(yōu)選地,所述步驟s1在對各個后綴數(shù)組項進行排序時,根據(jù)各個后綴數(shù)組項首字符的拼音首字母進行排序。

同時,本發(fā)明還提供了一種應用以上方法的系統(tǒng),其具體的方案如下:

包括字符串讀取模塊、構造模塊、排序模塊和查找模塊;

其中字符串讀取模塊用于讀取短信列表中的每條短信的字符串內(nèi)容;

構造模塊用于為短信列表中的每條短信構建后綴數(shù)組;

排序模塊用于對構造得到的所有后綴數(shù)組中的各個后綴數(shù)組項進行排序;

查找模塊用于根據(jù)關鍵詞在已排序的所有后綴數(shù)組項中進行二分查找,然后將查找得到的后綴數(shù)組項對應的后綴數(shù)組作為查找的結果。

與現(xiàn)有技術相比,本發(fā)明的有益效果是:

本發(fā)明提供的方法具有查詢速度快的特點,在進行查找時無需遍歷每條短信,其查詢效率高;尤其是當查詢的關鍵詞較長時,查找的速度提升明顯。

附圖說明

圖1為方法的流程示意圖。

圖2為系統(tǒng)的結構示意圖。

具體實施方式

附圖僅用于示例性說明,不能理解為對本專利的限制;

以下結合附圖和實施例對本發(fā)明做進一步的闡述。

實施例1

如圖1所示,本發(fā)明提供的方法包括以下步驟:

s1.為短信列表中的每條短信根據(jù)其短信字符串內(nèi)容構建后綴數(shù)組,然后按照預設的規(guī)則對構造得到的所有后綴數(shù)組中的各個后綴數(shù)組項進行排序;

s2.當接收到一個查找短信的關鍵詞時,按照接收字符的順序,將接收到的關鍵詞中的各個字符依次作為二分查找的索引;

s3.使用關鍵詞中的第i個字符作為索引在已排序的所有后綴數(shù)組項中進行二分查找,將首字符為該索引的后綴數(shù)組項對應的后綴數(shù)組作為第i次查找的結果;i的初始值為1;

s4.令i=i+1然后使用關鍵詞中的第i個字符作為索引在第i-1次查找結果包含的后綴數(shù)組項中進行二分查找,然后將首字符為該索引的后綴數(shù)組項對應的后綴數(shù)組作為第i次查找的結果;

s5.重復執(zhí)行步驟s4直至第i>n,此時將第i次查找的結果對應的短信作為短信查找結果進行輸出,n為關鍵詞包含的字符數(shù)。

上述方案中,本發(fā)明提供的方法具有查詢速度快的特點,在進行查找時無需遍歷每條短信,其查詢效率高;尤其是當查詢的關鍵詞較長時,查找的速度提升明顯。

在具體的實施過程中,所述步驟s1在對各個后綴數(shù)組項進行排序時,根據(jù)各個后綴數(shù)組項首字符的拼音首字母進行排序。

實施例2

本實施例提供了一種應用實施例1方案的系統(tǒng),如圖2所示,其具體的方案如下:

包括字符串讀取模塊、構造模塊、排序模塊和查找模塊;

其中字符串讀取模塊用于讀取短信列表中的每條短信的字符串內(nèi)容;

構造模塊用于為短信列表中的每條短信構建后綴數(shù)組;

排序模塊用于對構造得到的所有后綴數(shù)組中的各個后綴數(shù)組項進行排序;

查找模塊用于根據(jù)關鍵詞在已排序的所有后綴數(shù)組項中進行二分查找,然后將查找得到的后綴數(shù)組項對應的后綴數(shù)組作為查找的結果。

實施例3

本實施例為實施例1的方案的舉例說明,如圖2所示,其具體的流程如下:

步驟1、首先為兩條短信的字符串內(nèi)容進行后綴數(shù)組的構造,分別如表1,表2所示。

步驟2、為短信列表中的每個短信構造后綴數(shù)組后,按照預設的規(guī)則對構造得到的所有后綴數(shù)組中的各個后綴數(shù)組項進行排序。

此處所述規(guī)則為按首漢字的拼音首字母進行排序;得到表3的后綴數(shù)組的列表;

表3

步驟3、當接收到查找短信的關鍵詞“吃*飯”(*代表任意字符)時,首先,根據(jù)用戶輸入的第一個字符“吃”,將該字符“吃”的拼音首字母“c”與表中后綴數(shù)組項“米飯”的首字符的拼音首字母“m”進行比較,確定字符“吃”的查找范圍為“米飯”前面的后綴數(shù)組項,忽略“米飯”后面的后綴數(shù)組項。

步驟4、在“米飯”前面的后綴數(shù)組項中找到兩個首字符為“吃”的后綴數(shù)組項“吃早點”和“吃米飯”,將“吃早點”所在的后綴數(shù)組和“吃米飯”所在的后綴數(shù)組作為本次查找的結果。

步驟5、然后,根據(jù)關鍵詞中的下一個字符“飯”進行下一次查找,在上一次的查找結果的后綴數(shù)組中進行類似的查找,得到首字符為“飯”的后綴數(shù)組項“飯”,將該后綴數(shù)組項“飯”所在的數(shù)組作為本次查找的結果,由于字符“飯”為關鍵詞中的最后一個字符,因此,該后綴數(shù)組對應的短信“吃米飯”就是查找到的短信。

顯然,本發(fā)明的上述實施例僅僅是為清楚地說明本發(fā)明所作的舉例,而并非是對本發(fā)明的實施方式的限定。對于所屬領域的普通技術人員來說,在上述說明的基礎上還可以做出其它不同形式的變化或變動。這里無需也無法對所有的實施方式予以窮舉。凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進等,均應包含在本發(fā)明權利要求的保護范圍之內(nèi)。

當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1