[問題] 將檔案內大量資料做查詢分類

看板C_and_CPP作者 (JaJa)時間12年前 (2013/08/17 05:55), 編輯推噓5(5032)
留言37則, 10人參與, 最新討論串1/2 (看更多)
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) Dev c 問題(Question): 讀取進來的資料 大概是這樣 上午 01:08:49.654 0.00000000 0 Write 22264617 上午 01:08:49.674 0.00000000 0 Read 22581355 上午 01:08:49.694 0.00000954 0 Read 22065871 上午 01:08:49.714 0.00000954 0 Read 22065871 上午 01:08:49.714 0.00000954 0 Read 22065871 上午 01:08:49.804 0.00001907 0 Read 22119311 上午 01:08:49.814 0.00001907 0 Write 22103225 上午 01:08:49.834 0.00001907 0 Read 22103041 上午 01:08:49.864 0.00002861 0 Write 24711839 上午 01:08:49.864 0.00002861 0 Read 24711855 上午 01:08:49.874 0.00002861 0 Read 24711855 上午 01:08:49.874 0.00002861 0 Read 24711855 上午 01:08:49.894 0.00002861 0 Write 22065871 主要是統計最後兩個欄位 最後兩個欄位分別是 read/write 和read/write的位址 自己是用字串的方式 用迴圈的方式把一筆一筆的資料讀取進來 想要計算出 1.read/write多少個位址有被寫入過,所以希望可以辨識有重複的不被計算進去 2.統計出read/write的最多的位址點(可能不只一個位址) 這樣要怎麼做會比較好呢??因為資料量滿大的 一萬多筆 不好意思 麻煩了 試過用陣列去存字串 然後在抓下一筆近來比較 可是資料太多的話 之前的資料會被蓋掉 嘗試的時候 是先把資料改成比較短的幾筆 但資料量一增加就會有問題 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.198.180.11 ※ 編輯: eltonjaja 來自: 114.198.180.11 (08/17 13:57)

08/17 14:16, , 1F
為了解決這個問題 你做了什麼嘗試 遇到什麼問題?
08/17 14:16, 1F
※ 編輯: eltonjaja 來自: 114.198.180.11 (08/17 14:53)

08/17 14:54, , 2F
已經補上 感謝
08/17 14:54, 2F

08/17 15:04, , 3F
map<> ?
08/17 15:04, 3F

08/17 15:08, , 4F
不好意思新手 請問那是什麼??
08/17 15:08, 4F


08/17 15:12, , 6F
map 是一種資料結構
08/17 15:12, 6F

08/17 15:18, , 7F
感謝 小弟來研究看看 謝謝指點
08/17 15:18, 7F

08/17 16:10, , 8F
1個int變數去算就好
08/17 16:10, 8F

08/17 17:25, , 9F
那是怎樣呢?因為抓進來是字元 那還要再轉換成整數嗎?
08/17 17:25, 9F

08/17 23:41, , 10F
今天被問到一樣的, 聽說是某公司的面試題
08/17 23:41, 10F

08/18 02:06, , 11F
0.0我不知道ㄟ....是我老闆丟給我做的 我才剛要念碩一..
08/18 02:06, 11F

08/18 02:07, , 12F
剛剛試了下bitmap方式去存,可是記憶體位址是隨機的
08/18 02:07, 12F

08/18 02:09, , 13F
這樣要怎麼設計位址範圍 很像也不可行@@..."
08/18 02:09, 13F

08/18 02:25, , 14F
bitmap???你是不是搞錯map用法
08/18 02:25, 14F

08/18 03:43, , 15F
這誤會可大了 bitmap跟map毫無關係 反而比較接近vector
08/18 03:43, 15F

08/18 03:44, , 16F
況且一般來講bitmap都是指圖像格式吧...
08/18 03:44, 16F

08/18 10:59, , 17F
那方法是我朋友跟我講的 說用一個一維陣列 每個位址代表
08/18 10:59, 17F

08/18 11:00, , 18F
一個位址 如果資料有這個位址 就回傳1 但這個要位指數固
08/18 11:00, 18F

08/18 11:01, , 19F
定的樣子 我不知道方法是不是叫bitmap
08/18 11:01, 19F

08/18 11:02, , 20F
不好意思打錯~"~...每一個陣列元素代表一個位址 拍謝
08/18 11:02, 20F

08/18 11:17, , 21F
你先sort之後就很好做了
08/18 11:17, 21F

08/18 13:17, , 22F
用 sort 當然可以, map 某層面也是做 sort
08/18 13:17, 22F

08/18 13:18, , 23F
只是這題目看起來碰撞機率應該很高, 用 map 比較簡單也合理
08/18 13:18, 23F

08/18 13:21, , 24F
eltonjaja: map<> 使用上就是要解決位址不連續還有不確定數量
08/18 13:21, 24F

08/18 14:05, , 25F
不好意思 請問map可以用在C上嗎?對C++不是很熟@@"
08/18 14:05, 25F

08/18 14:55, , 26F
c本身沒有stl可以用,需要去找其他的lib或是自己刻
08/18 14:55, 26F

08/18 16:53, , 27F
c2lib我記得有有一份類似於c++ map的實作
08/18 16:53, 27F

08/18 16:54, , 28F
目前來講比較多人用的C STL-Like lib就是C2Lib了
08/18 16:54, 28F

08/18 16:55, , 29F
另外 目前來講 除非寫kernel或者嵌入 不然其實C++會比較
08/18 16:55, 29F

08/18 16:55, , 30F
好維護吧,沒必要勉強自己一定非C不用
08/18 16:55, 30F

08/18 17:16, , 31F
考慮用R嗎? 可能兩, 三行解決
08/18 17:16, 31F

08/18 18:18, , 32F
因為大學老師是教C所以比較習慣用C 會再多花時間去練習
08/18 18:18, 32F

08/18 18:19, , 33F
C++的 XD
08/18 18:19, 33F

08/18 19:13, , 34F
如果是基於實用目的,建議找其他工具來用......
08/18 19:13, 34F

08/18 19:14, , 35F
如果當作練習就沒關係 XD
08/18 19:14, 35F

08/18 20:23, , 36F
這樣用python應該有機會秒殺
08/18 20:23, 36F

08/18 20:24, , 37F
是說原Po在用bitmap前至少該看看說明文件,知道他在幹嘛
08/18 20:24, 37F
文章代碼(AID): #1I3n1PdL (C_and_CPP)
文章代碼(AID): #1I3n1PdL (C_and_CPP)