算法
朽木有功
这个作者很懒,什么都没留下…
展开
-
二分查找(Java实现)
二分查找 基本思想 假设序列是有序(升序)的,将序列中的中间位置的元素与关键字进行比较。如果相等则查找成功,否则利用中间位置记录将表分成前后两个子序列,当中间元素大于关键字时,则将前一个子序列的中间位置元素与关键字进行比较,相反将后一个子序列的中间位置的元素与关键字进行比较。重复以上步骤直到查找成功,或查找失败。 特点 待查找序列必须是有序; 从中间元素开始; 利用中间位置记录将表分成前、后两个子序列(除非已经找到); 如果中间位置记录的元素大于关键字,则进一步查找前一子序列,否则进一步查找后一子序列。原创 2021-08-10 09:37:50 · 128 阅读 · 0 评论 -
顺序查找(Java实现)
顺序查找 基本思想: 顺序查找:从第一个元素开始按照顺序遍历待查序列,直到查找到目标或者查找失败。 特点: 对待查序列没有顺序要求(序列中的数可以是有序的也可以是无序的)。 缺点: 效率很低(最坏的情况需要遍历整个待查序列)。 性能分析: 需要时间: 平均查找长度 = 1/n(1+2+3+···+n) = (n+1)/2, 最坏情况需要遍历整个待查序列, 时间复杂度O(n)。 需要空间: 1个待查序列 + 1个目标元素。 Java代码实现: 说明:用for循环或者foreach都可以,看个人习惯原创 2021-08-08 23:24:15 · 1227 阅读 · 0 评论