我应该使用什么数据结构
我现在有大概几万条的记录,里面有重复。我要把重复的去掉。我把记录存在什么数据结构里,存储的效率最高,使用什么样的查找算法,去重的速度最快。 问题点数:60、回复次数:10Top
1 楼mango279(木目)回复于 2005-08-01 21:32:30 得分 15
我建议使用二叉树,检索速度快
看别人有什么建议吧,咱也学习学习Top
2 楼dirdirdir3(风)回复于 2005-08-01 22:08:02 得分 10
找出你的记录里面的key项目来(既不允许重复的),然后在这些key中看看有没有类型为int的,建立一个数组,用冒泡法处理就可以了,Top
3 楼AntonlioX(做人要厚道)回复于 2005-08-01 22:09:14 得分 3
干吗不用 数据库来存储 都不需要你考虑数据结构Top
4 楼linur(林子大了,什么鸟都有)回复于 2005-08-02 00:48:48 得分 10
先排序,只需要初始化的时候排一次,以后就在有序表中进行查找或者插入和删除比较快
存储可以用数组, 二叉搜索树等等都可以,各有优缺点Top
5 楼mango279(木目)回复于 2005-08-02 08:12:26 得分 10
如果记录数量不变的话采用数组也不错(同意linur的:先排序,只需要初始化的时候排一次,以后就在有序表中进行查找或者插入和删除比较快存储可以用数组,),搜索的时候用折半查找比较快Top
6 楼dongle2001(dl)回复于 2005-08-02 08:29:37 得分 0
key项目是CString类型,记录数量是变得.up
Top
7 楼younggle(洋溢)回复于 2005-08-02 08:33:14 得分 2
使用哈希表吧。Top
8 楼dongle2001(dl)回复于 2005-08-02 22:28:28 得分 0
我用CMapStringToOb类试了一下,效果不理想.
我想知道哈希表和二叉树到底哪个查找的效率高?Top
9 楼dongle2001(dl)回复于 2005-08-07 13:44:45 得分 0
up
Top
10 楼masterz(www.fruitfruit.com)回复于 2005-08-07 14:20:35 得分 10
std::map
哈希表的效率取决于它的hash算法,以及他的容量,在大多数情况下hash会快一些Top




