loannes's blog

标签 · 排序

首页

关于

归档

loading..
排序

算法图解笔记(三)\-\--快速排序

=============================== 算法的核心思想-----分而治之(D&C) D&C的理解过程: 找出基线条件,这种条件必须尽可能简单。 不断将问题分解,直到符合基线条件。 通过下面这道题来加深对D&C的理解: 将这块长为1680m,宽640m的地均匀的分成方块,且分出的方块尽可能的大。 按照D&C的解题步骤: 基线条件: 如果长是宽的整数倍,那么就可以正好将他们分割成等分的正方形。然后通过从大到小的顺序进行筛选优先找到的肯定是最大的正方形。 按照题目中的理解就是:只需找出1680余64之间的最大公约数即可。 递归条件: 通过欧几里得算法可以得知:‘适用于这小块地的最大方块同样也适用于整块地的最大方块’。这句话正好符合了分而治之的核..

更多
loading..
排序

算法图解笔记(一) \-\-- 选择排序、二分查找

========================================= 二分查找 是一个在有序元素列表中的查找的算法 原理:如这个列表长度是10000,通过算法排除不满足条件的另一半来查找。 比如从100个数字中找到某个数字的索引,可以先找到50进行比较来缩小范围。如果大于50就再拿75做比较,以此类推,直到找到该数字。 这样的二分算法能从原先的暴力查找(最坏情况下)100次减少到7次。 记做公式: $$log_2 n$$ 算法运行时间 运行时间的增速:随着数据量的增加,运行时间会出现递增的情况。优秀的算法增速越少,比如二分查找和简单查找在10亿个算法的情况下,简单查找需要11天才能查找玩,而二分查找只需要32毫秒。 算法的速度指的的操作数的增速。也就是时间复杂度 数组 缺点:添加新元素如果遇..

更多