作者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
1F:推 TroyLee:快 C - BST > C++ - Map > C - Hash Table 慢 ?? 04/30 01:05
2F:→ bleed1979:这是在ACM UVa的实测结果 但测资不公开 所以也不太准 04/30 01:07
3F:→ bleed1979:另外hash table的部份是用别人写好的code 04/30 01:08
4F:→ bleed1979:再来就是因为测资很多组 remove或free的时间也加进去了 04/30 01:08
5F:→ bleed1979:hash table的key值是字串 所以int转字串花了很多时间 04/30 01:11
6F:推 TroyLee:这样比较基准点不同吧...@@ 04/30 02:16
※ 编辑: bleed1979 来自: 118.168.133.148 (04/30 11:09)