網路城邦
上一篇 回創作列表 下一篇   字體:
部首排序實作的技巧
2010/04/23 11:34:49瀏覽3065|回應2|推薦38

  Unicode是先按部首,再按筆畫數排序,而中文字典也是按這種順序排序。一般的中文字典的檢索方式包含部首、筆畫數和注音三種,檢索(Search)和排序(Sort)有關,在介紹過筆畫數和注音兩種排序之後,本文擬介紹部首排序(Radical sort)的實作。

  個人電腦最早的中文內碼是BIG5,是先按筆畫數,再按部首排序;但目前個人電腦的中文內碼是Unicode,是先按部首,再按筆畫數排序。這兩種內碼的排列方式何者為優呢?答案是Unicode,理由有二:()Unicode先按部首,可以分成214類,但BIG5先按筆畫數,只能分成3040類。()Unicode後按筆畫數,計算筆畫數是檢索必經的過程,但BIG5後按部首,意義已經不大。

中文字若按注音排序,優點是檢索容易,缺點則是不會念的字就無法檢索。若按筆畫數排序,優點是不會念的字也可檢索,缺點則是每個字都需要計算筆畫數。 若按部首排序,優點是分類清楚,缺點則是和筆畫數排序一樣,即每個字都需要計算筆畫數。

  在知道部首排序的必要性和重要性之後,下面將以Excel來實作部首排序。來源資料是部落格的「暱稱」,處理者應增加三欄,一是「部首筆畫數」,二是「部首」,三是「剩餘筆畫數」。若是確知暱稱首字的部首,則直接在部首欄輸入,否則可連到全字庫網站,選複合查詢(網址是http://www.cns11643.gov.tw/AIDB/query_composite.do),對於會念的暱稱首字,可同時作注音和筆畫數查詢;對於不會念的,也不確定部首者,可作部首和筆畫數查詢;對於不會念的,也不知道部首者,則只能作筆畫數查詢。查得或確認部首後,應輸入部首欄。

部首欄全部輸入後,應計算每個部首的筆畫數,之後輸入部首筆畫數欄,接著應計算每個暱稱首字除去部首的筆畫數,之後輸入剩餘筆畫數欄。排序時,主要鍵選部首筆畫數,次要鍵選部首,第三鍵選暱稱,主要鍵與兩個次要鍵皆採遞增,即由小而大的順序(Ascending order)

接著將列出部首排序的實例,為了版面的編排,部首相同者會排在一起,中間用斜線/線隔開,每一筆資料包含部首筆畫數、部首、剩餘筆畫數和暱稱等四項,如下所示:

2          0        二泉印月/ 2                6      亞希淇是一隻絕不搞笑的俏狐狸 

2          7        俗客 

2          6        協理/ 2            7        南寒寂

3          9        喜.LOVE 

3          0        大羅府/ 3          0        大羅府蔡老師 

3          0        子甯 

3          0        小武/3            0        小奕(《櫻子》真好看!) 

3          10        嵩麟淵明 

3          2        巧巧來了 

3          4        弄潮兒 

3          12        寬心 

3          8        彩虹心靈花園 

4          6        恰恰: 艋舺 怎麼變小了? 4            11        -慕橙- 4          19        戀戀 風塵 4            5      思于/ 4                9      愛的大大  4            9        愛麗絲維維 

4          9        楊若林(賞文)

4          0         羚/  4          3        江依萍/ 4          5        法蘭客/ 4      6        洛城早安/    7        海拉/ 4            8        淘氣麗莎  4                11    漁樵子(笑口常開) 4                12      

4          8        【無  言】 

5          5        ☆珂玼☆天生的不平等!/ 5            14        。璽兒。 

5          6        異色 

5          0        白面書生

5          5        (祝福滿滿) 

5          8         

6          6        絕塵詩雨  詩╱韻開了情紋(詩集再版)

6          6        善良:::::一段情:::: 6            6        善容居士/ 6                3      美賢 

6          0        老宅男 / 美網賽莊佳容 彭帥 女雙爭冠 6            0      老齊 

6          9        蝶非/ 6            10        螞蟻蝴蝶

6          9        董哥/ 6        11        蔡頭伯/ 6          4        芸之/ 6            5        英爵 

7          9        otivia 7                10    謙水 

7          7        酸柳丁 

7          9        逸名 

8          0        采芯雁 

8          0        金戈戈 

8          4        閒雜人等 

8          8          

9          0        風的心聲 

9          0        香香美代子 

10        0        馬蹄 

10        11        魔鬼ㄅㄚˇ拔

針對以上資料作排序,若不先按部首筆畫數欄,而先按部首欄,會造成宀、彡、疒和辵等部首被不當置於最後面的情況。原因是這四個部首都無BIG5碼,也就是它們在BIG5內碼當中,既不屬於常用字集,也不屬於次常用字集的字,排序時只好置於最後面。

部首排序要能夠實用,就是應先標「部首筆畫數」,以利找到部首,再標示除去部首之後,漢字「剩餘筆畫數」,以利找到漢字,作法要如同中文字辭典一般。微軟的「插入符號」可用來插入輸入法所無法輸入的漢字,但是整個字集只按部首排序,未標明兩種有利於檢索的筆畫數。因此,筆者才會特地撰寫四篇文章,對插入符號做出改進,以嘉惠中文的使用者,有興趣的讀者請參考以下所列的資料。

[相關閱讀]

  (1) 輸入漢字的利器,以「部首和筆畫」做檢索的定位

  (2) 輸入「增補字集」漢字的利器,以「部首和筆畫」做檢索的定位

  (3) 輸入漢字的利器,以部首做檢索的定位

  (4) 輸入「增補字集」漢字的利器,以部首做檢索的定位

( 興趣嗜好電腦3C )
回應 推薦文章 列印 加入我的文摘
上一篇 回創作列表 下一篇

引用
引用網址:http://classic-blog.udn.com/article/trackback.jsp?uid=glwang&aid=3968981

 回應文章

ti (人回來了 )
等級:8
留言加入好友
學點東西,真好~
2010/04/24 10:54

來這裡,每次都可學點東西

真好~

王國良(阿國)(glwang) 於 2010-04-25 22:18 回覆:

  謝謝ti格友的回應,知道您喜歡本部落格的文章,甚感欣慰,歡迎您常來造訪,也祝您常有收獲。


愛麗絲維維 - 維伊
等級:8
留言加入好友
@@
2010/04/23 19:47
@@還是不懂!
王國良(阿國)(glwang) 於 2010-04-24 09:23 回覆:
  歡迎愛麗絲維維格友的回應,也許是您首次見到部首排序的作法,比較不熟悉,如果您有興趣的話,可以按照本文所介紹的方法,實際用Excel去實作一遍,即可明白。