在链表上插入删除和搜索的最佳方法是什么?

时间:2013-03-01 10:20:17

标签: performance linked-list skip

我有一个非常小的结构,包括:

价格浮动(4.99等) 产品名称,字符串 和一个短整数,只能在1到5之间

我使用基本链接列表以排序的方式存储所有这些数据。事实上,对于200.000个产品,只需要18秒即可从i7上的文件中添加这些数据。我想更快地做到这一点。我研究了一下,发现了跳过列表的方法。没有搜索但列表仍然会被排序,跳过列表是最好的方法吗?而且,尝试对短整数使用按位运算(因为它的值可以用3位表示(如果我的数学是正确的),它会帮助(不是简单)吗?

此外,我还想到了另一种应用二进制搜索的方法。我可以存储某些产品的地址,例如,如果我有100个,我可以容纳100个,50个,25个,12个,6个,3个,1个,75个,87个......等等然后使用双向链表来转到下一个和前一个节点,这是否有意义,或者索引和prev元素会覆盖二进制搜索的好处? (约200,000项)

0 个答案:

没有答案