11.24 算法

旧知识

一、Date(日期)类

1、创建对象

Date date=new Date;

2、用setTime方法赋值

3、用getTime方法获取时间;获取后可用于时间的计算和比较

算法

一、查找算法(数组,查找的数据,查找的范围,最小默认是零索引,最大默认是最大索引)

1、基础查找

2、二分查找

规定数组或集合,大小顺序排好案后,min,max,mid三个值,如果要查找的值在mid的左边,min不变,max等于mid减1. 

缺点:效率低,需要提前排序。(没啥用)

3、插值查找 和二分查找原理类似,是二分查找效率提升的另一个版本

公式:mid=min+(分子:serch-arr[min] 分母:arr[max]-arr[min])*(max-min)

4、斐波那契查找

黄金分割比例:1:0.618

公式:mid=min+黄金分割点左半边长度-1; 

补充:2 3 4 的区别是:计算mid的方式不一样

5、分块查找

分的块数为数据个数的开根号(个)左右。(具体情况具体分析)每块有总数/块数(个)

分块条件:下一块的每一个数据都要比上一块的最大值大

要对每块创建对象,并且创建max startIndex endIndex 属性

把每块(对象)放进数组中管理,max为每块对象的标志

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值