我想编写一个搜索网址类的程序,为了通用和易于使用的目的,
我不想使用数据库,我的办法是把搜索到的数据定期存到文件中,
同时把所有收集到的网址存放在一个AVL平衡二叉树中,每新增一个网址,
都利用平衡二叉来进行排重的工作,网址在1~2万以下时还可以,
可是数目再多,内存就变得占用太多,CPU占用也快变成100%了?
请问各位高手,如何才能处理快速的处理几十万甚至百万数据呢?
而又不占用太多的内存和CPU呢?
5 个解决方案
#1
二叉树是不行的。没听说哪个数据库的底层用二叉树的。起码你也要用B-tree嘛。回去翻数据结构的书吧。
#2
为了通用和易于使用的目的, 就应该使用数据库。
B-tree之类好像只能用于内部排序,如果数据量真的大的话,应该考虑外部排序的算法。
B-tree之类好像只能用于内部排序,如果数据量真的大的话,应该考虑外部排序的算法。
#3
这么大的数据量还是使用数据库比较方便
#4
R TREE
#5
散列存放
#1
二叉树是不行的。没听说哪个数据库的底层用二叉树的。起码你也要用B-tree嘛。回去翻数据结构的书吧。
#2
为了通用和易于使用的目的, 就应该使用数据库。
B-tree之类好像只能用于内部排序,如果数据量真的大的话,应该考虑外部排序的算法。
B-tree之类好像只能用于内部排序,如果数据量真的大的话,应该考虑外部排序的算法。
#3
这么大的数据量还是使用数据库比较方便
#4
R TREE
#5
散列存放