Re: [問題] StreamReader的ReadLine溢位嗎?

看板C_Sharp (C#)作者 (無言)時間14年前 (2011/09/12 04:22), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串4/4 (看更多)
原先你的方法,每一篇文章所花費的時間為 82045 乘上 String.indexOf() 的時間 既然 corpus 中的每行都有半形空格把詞分開 就用 split(' ') 把 corpus 讀出的行分成 string 陣列 再把每個 string 個別去 Dictionary 尋找 一篇文章有多少個詞就找幾次,找 n 次即可 在此文章中已算過的詞,在相同文章中再次出現就不會再算。 因此花費的時間將改善為 文章的詞數 (一定小小於八萬) 乘上 Dictionary.ContainsKey() 的時間 http://paste.plurk.com/show/656610/ 你試試看會不會快一點... ※ 引述《check (check)》之銘言: : 各位板友大家好,我在處理一個中文字統計出了問題, : 想請問板友這問題是出在哪邊? : 我有兩個檔案Dictionary.txt裡每一列即是一個中文詞,共82045個。 : 另一個是corpus4.txt,每一列即是一篇中文文章,詞與詞已經用半形空白格開。 : 共225列。 : 我現在要做的是統計每個詞在各篇文章中是否曾出現過 (出現過即算) : 預計輸出檔案格式為 : 詞一 次數 : 詞二 次數 : ... : 以此類推,其中次數會介於0~225之間。 : 不過我的程式碼卻跑不出結果來,請板友提點一下 : http://paste.plurk.com/show/646536 : 我是猜測ReadLine溢位,或者是 : if (wtemp.IndexOf(dic[i].ToString()) != -1) : 這邊有問題? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.240.1.250
文章代碼(AID): #1ERHYMVY (C_Sharp)
文章代碼(AID): #1ERHYMVY (C_Sharp)