作者bleed1979 (十三)
看板C_and_CPP
標題Re: [問題] 一維陣列中最長位置連續但數值相異的序列
時間Thu Apr 30 00:46:37 2009
2009/04/30 11:00 am
修正速度上的問題
參考 wiki 的網頁
http://wiki.portugal-a-programar.org/c:snippet:hash_table_c
並在我的code裡加入對碰撞的處理
上傳 ACM UVa AC 後
速度的比較 C - BST 0.940 vs. C - Hash Table for Tree 0.790
所以還是 Hash Table 比較快一些
不過碰撞我是用 tree 的概念處理, 不曉得有沒有其他的方法
程式碼:
http://src.wtgstudio.com/?Na2Z6E
========================================================================
我又來了 這表示又有結果了
因為BST實作不難 所以我一下子就寫完了
以ACM UVa來看 速度快慢上 快 C - BST > C++ - Map > C - Hash Table 慢
但這多少和測試數據的重複性有關係
程式碼我已用淺顯易懂的方式撰寫 就不多講解了 演算法是相同的
程式碼:
http://src.wtgstudio.com/?1N3Kz0
另外, 這討論串我大致就回到這裡, 老是佔用資源也不太好
感謝各方的意見及幫忙, 學到很多東西
Bleed
--
World of bleed1979
http://bleed1979.myweb.hinet.net/
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.168.133.60
推 TroyLee:快 C - BST > C++ - Map > C - Hash Table 慢 ?? 04/30 01:05
→ bleed1979:這是在ACM UVa的實測結果 但測資不公開 所以也不太準 04/30 01:07
→ bleed1979:另外hash table的部份是用別人寫好的code 04/30 01:08
→ bleed1979:再來就是因為測資很多組 remove或free的時間也加進去了 04/30 01:08
→ bleed1979:hash table的key值是字串 所以int轉字串花了很多時間 04/30 01:11
推 TroyLee:這樣比較基準點不同吧...@@ 04/30 02:16
※ 編輯: bleed1979 來自: 118.168.133.148 (04/30 11:09)