嘿,我正在做一个动态数组列表,我想知道如何对数组列表进行线性和二进制搜索,以及这些搜索的优缺点。
最佳答案
我猜你是将这些实现为一个扩展数组,因为当你用完空间时,你会重新分配新数组,然后将元素复制过来。
在这种情况下,您的问题归结为如何对该数组实现线性和二分搜索?
在那种情况下,可以在网上找到大量文章、示例。
线性搜索的优点是对于小数组没有速度差异,并且它始终适用于未排序的数组,只要您要查找的项目在数组中。
这与二分搜索形成对比,二分搜索对于大型数组非常快,但对于小型数组,与线性搜索相比并没有真正的性能优势。这种加速是以必须对其进行排序以获得此优势为代价的。
关于c++ - 动态 ArrayList 的线性和二进制搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11584993/