摘要: 顺序查找O(n) 二分查找O(lgn) 通过代码来感受性能差别 运行结果: 阅读全文
posted @ 2019-02-16 16:26 梨花梦蝶 阅读(3487) 评论(0) 推荐(0) 编辑
摘要: 希尔排序也是一种插入排序,它是简单插入排序经过改进之后的一种更高效的版本,也成为缩小增量排序。 一、算法原理 现在有一个array,希尔排序就是设定一个增量incrementNum(0<incrementNum<array.length)。 先从array[0]开始,以incrementNum为增量 阅读全文
posted @ 2019-02-16 15:27 梨花梦蝶 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 二分查找是一种查询效率非常高的查找算法。又称折半查找。 一、算法思想 有序的序列,每次都是以序列的中间位置的数来与待查找的关键字进行比较,每次缩小一半的查找范围,直到匹配成功。 一个情景:将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表, 阅读全文
posted @ 2019-02-16 10:53 梨花梦蝶 阅读(591) 评论(0) 推荐(0) 编辑
摘要: 如何正确的求2个数的平均值。在练习算法二分查找的时候发现的,以前没有注意到的bug 备注:数据以int类型为例 一、以前的通用写法 请记住:这是一个有bug的写法,因为两个数相加有可能超过了int的范围,但是他们的平均值肯定不会超过范围。以前没有注意到这个问题,知道深入了解了位运算。 二、正确写法 阅读全文
posted @ 2019-02-16 10:38 梨花梦蝶 阅读(5280) 评论(0) 推荐(0) 编辑
摘要: 汉诺塔题目要求: 解题思路: 1~N从A移动到B,C作为辅助 等价于: 1、1~N-1从A移动到C,B作为辅助 2、把N从A移动到B 3、1~N-1从C移动到B,A为辅助 算法实现: 阅读全文
posted @ 2019-02-16 09:12 梨花梦蝶 阅读(256) 评论(0) 推荐(0) 编辑