算法
m0_50571968
这个作者很懒,什么都没留下…
展开
-
分治策略——快速排序、幂乘算法、芯片测试、改进分治算法的途径
思想:用首元素作为划分标准,设定两个指针,分别从第二个元素和最后一个元素分别往前往后遍历。 当前指针找到大于标准、后指针找到小于标准的时候,互换两个指针处的元素。从而将问题划分为两个子问题。 在递归调用对子问题排序。 伪代码: 算法:QuickSort(A, p, r) 输入:数组A[p...r] 输出:排序后的数组 1.if(p<r) 2.x <- A[p] 3.i <- p j <- r+1 4.while true do 5. repeat j <-原创 2021-05-16 09:07:00 · 699 阅读 · 0 评论 -
算法三——分治策略
分治策略: 1、将原始问题划分或归结为规模较小的子问题。 2、递归或迭代求解每个子问题。 3、将子问题的解综合得到原问题的解。 注意点:子问题的性质不变、子问题可以独立求解(区别于动态规划算法)、 递归停止时子问题可直接求解。 例:二分检索算法 首先将x与中位数进行比较,划分为比x大和比x小两个子问题,比较确定结果在哪个子问题中,再对子问题分别递归调用算法。 当子问题规模为1时,相等则返回当前位置,否则返回0(x不在数组中)。 伪码: Binary Se...原创 2021-05-15 17:54:55 · 174 阅读 · 0 评论 -
算法二——一些计算复杂度的方法
序列求和的方法 一、数列的求和公式 等差、等比、调和级数。 拓展:放缩法(放大法求上界) 例子:二分检索 积分做和式渐进的界 递推方程与算法分析 递推方程:an与某些ai联系起来(i<n) 实例:斐波那契数列、hanoi塔问题、插入排序 迭代法 与递推法不同:第n项只与第n-1项有关 例:Hanoi 换元迭代 将分数问题转化成整数问题解决,简化计算。 差消法化简高阶递推方程 an与前面连续很多项有关(最典型...原创 2021-05-15 17:29:50 · 408 阅读 · 0 评论 -
算法学习1——数学基础知识
1、算法的数学基础 ①函数渐进的界——O、o、Ω、、。 ②求和方法——等比、等差、调和级数。 ③递推方式求解 例子:插入排序 InsertSort(A, n) 输入 输出 1.for <-2 to n do //第一个直接放入,不需排序 2. x <- A[j] //将待排的元素取出 3. i <- j-1 //i代表排好序的元素个数 4. while i>0 and x<A[j] do原创 2021-05-11 11:25:16 · 316 阅读 · 0 评论