算法
呆某人
这个作者很懒,什么都没留下…
展开
-
二分查找法
简介二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。但是,折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列。查找过程在一组有序的顺序表中查找某个元素,比如是升序的数组,先比较该数组中间的值和元素大小关系,若数组中间的值大于元素,则下一次查找仅需要查找数组的前半段,若数组中间的值小于元素,则下一次查找仅需要查找数组的后半段,若数组中间的...原创 2019-03-27 20:03:33 · 753 阅读 · 0 评论 -
冒泡排序
冒泡排序是一种经典的排序算法,它主要的算法思想是相邻的元素两两进行比较,然后根据元素大小进行位置互换(也可以根据自定义条件),一轮交换之后最后面的元素肯定是最大的(也就是一轮排序后能确定一个元素的位置),这个算法的名字因为算法的过程是越大的元素会慢慢移动到数列的顶端而得以命名。Bubble类public class Bubble { public static void main...原创 2019-03-31 10:06:08 · 857 阅读 · 0 评论 -
爱因斯坦台阶问题
最近面试的时候做过一道算法笔试题我印象很深,乍一看无从下手,仔细分析后发现有规律可循,最后将代码手写出来了,特此记录一下。爱因斯坦台阶问题爱因斯坦曾经提出过这样一道有趣的数学题:有一个长阶梯,若每步上2阶,最后剩下1阶;若每步上3阶,最后剩2阶;若每步上5阶,最后剩下4阶;若每步上6阶,最后剩5阶;只有每步上7阶,最后刚好一阶也不剩。请问该阶梯至少有多少阶。分析一看到这道题的时候,...原创 2019-09-09 21:10:56 · 7578 阅读 · 1 评论 -
插入排序
介绍插入排序(Insertion sort)是一种简单直观且稳定的排序算法。如果有一个已经有序的数据序列,要求在这个已经排好的数据序列中插入一个数,但要求插入后此数据序列仍然有序,这个时候就要用到一种新的排序方法——插入排序法,插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数据,算法适用于少量数据的排序,时间复杂度为O(n^2)。是稳定的排序方法...原创 2019-09-28 22:16:35 · 274 阅读 · 0 评论