- 博客(4)
- 收藏
- 关注
原创 分治策略——快速排序、幂乘算法、芯片测试、改进分治算法的途径
思想:用首元素作为划分标准,设定两个指针,分别从第二个元素和最后一个元素分别往前往后遍历。当前指针找到大于标准、后指针找到小于标准的时候,互换两个指针处的元素。从而将问题划分为两个子问题。在递归调用对子问题排序。伪代码:算法:QuickSort(A, p, r)输入:数组A[p...r] 输出:排序后的数组1.if(p<r)2.x <- A[p]3.i <- p j <- r+14.while true do5. repeat j <-
2021-05-16 09:07:00
684
原创 算法三——分治策略
分治策略:1、将原始问题划分或归结为规模较小的子问题。2、递归或迭代求解每个子问题。3、将子问题的解综合得到原问题的解。注意点:子问题的性质不变、子问题可以独立求解(区别于动态规划算法)、 递归停止时子问题可直接求解。例:二分检索算法首先将x与中位数进行比较,划分为比x大和比x小两个子问题,比较确定结果在哪个子问题中,再对子问题分别递归调用算法。当子问题规模为1时,相等则返回当前位置,否则返回0(x不在数组中)。伪码:Binary Se...
2021-05-15 17:54:55
168
原创 算法二——一些计算复杂度的方法
序列求和的方法一、数列的求和公式等差、等比、调和级数。拓展:放缩法(放大法求上界) 例子:二分检索 积分做和式渐进的界递推方程与算法分析递推方程:an与某些ai联系起来(i<n)实例:斐波那契数列、hanoi塔问题、插入排序迭代法与递推法不同:第n项只与第n-1项有关例:Hanoi换元迭代将分数问题转化成整数问题解决,简化计算。差消法化简高阶递推方程an与前面连续很多项有关(最典型...
2021-05-15 17:29:50
397
原创 算法学习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
299
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人