摘要: 前提:有序数组 数组arr={1,2,3,...100} 假设查找1,使用二分查找的话,我们需要多少次递归,才能找到1 使用插值查找算法 int mid=left+(right-left)*(findVal-arr[left])/(arr[right]-arr[left]) //left和right 阅读全文
posted @ 2022-02-09 18:34 开源遗迹 阅读(36) 评论(0) 推荐(0)
摘要: 前提:必须是有序数组 思路:首先确定该数组的中间的下标 mid=(left+right)/2 然后让需要查找的数findVal和arr(mid)比较,若你的数组是从小到大 findVal>arr[mid],说明你要找到的数在mid的右边,因此需要递归的向右查询 findVal<arr[mid],说明 阅读全文
posted @ 2022-02-09 17:10 开源遗迹 阅读(32) 评论(0) 推荐(0)
摘要: package com.zou.search;//线性查找public class SeqSearch { public static void main(String[] args) { int arr[]={1,9,11,-1,34,89};//没有顺序的数组 int index=seqSear 阅读全文
posted @ 2022-02-09 16:32 开源遗迹 阅读(33) 评论(0) 推荐(0)
摘要: 稳定:如果a原本在b面前,而a=b,排序后a仍在b前面 不稳定:如果a原本在b前面,a=b,排序后a可能出现在b后面 内排序:所有排序操作都有内存中完成 外排序:由于数据太大,因此把数据放在磁盘中,而排序通过磁盘和内存的数据传输才能进行 时间复杂度:一个算法执行所消耗的时间 空间复杂度:运行完一个程 阅读全文
posted @ 2022-02-09 16:11 开源遗迹 阅读(42) 评论(0) 推荐(0)
摘要: 基数排序又称桶排序,属于分配式排序,通过简直各个位的值,将要排序的元素分配到某些同种达到排序的效果 基数排序是属于稳定性的排序,基数排序法的是效率高的稳定性排序法 基数排序是桶排序的扩展 基数排序的实现:将整数按位数切割不同的数字,然后按不同的数字,然后按每位数进行比较 基本思想:将所有带比较数值统 阅读全文
posted @ 2022-02-09 15:51 开源遗迹 阅读(48) 评论(0) 推荐(0)