![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法导论
文章平均质量分 87
Lucas_Wong
写一些日常工作经验和学习经验,立志拿到一个好的offer!
展开
-
第二节 渐近符号、递归及解法
一、渐进符号 1、O f(n)=O(g(n)) 表示存在适当的常数c和n0使得f(n)小于或等于c*g(n),对于充分大的n成立 0<=f(n)<=c*g(n) (c>0,n0>0,n>=n0) 例:2n^2 = O(n^3) 粗略的说就是去掉首项系数和低阶项,剩下的小于或等于n^3 O粗略...原创 2018-02-24 23:02:10 · 914 阅读 · 0 评论 -
算法导论 第三节 分治法
分治法1 分 把一个大问题分成若干个小问题 即原问题的n变小 2 治 递归的解决每一个子问题,然后把这些子问题的解合并成整个大问题的解 归并排序 1. 一分为二 2. 递归的对每一个子数组进行排序 3. 合并(线性的n时间内就可以完成) 归并排序的时间复杂度每一个符合分治策略的算法,几乎都有相似形式的递归出现 用主方法计算归并排序...原创 2018-02-27 19:20:25 · 241 阅读 · 0 评论 -
分治法
第三节-------分治法 The Divide-and-Conquer这节课的主要内容是介绍分治法的思想,以及一些应用分治法思想的算法示例,并结合上节课的主定理方法分析算法的性能。所谓分治法,即分而治之,各个击破。其一般的算法设计步骤是:1、Divide。即分,将问题拆分成几个子问题;2、Conquer。即治,通过递归的方法分别解决第一步中子问题;3、Combine。即合,将各个子问题的结果合并...转载 2018-02-27 19:22:37 · 308 阅读 · 0 评论 -
算法导论 第四节 快排及随机化算法
一. 快速排序 快速排序是分治法,在原来的数据区域进行重排, 节省内存 1.分 快速排序把数据划成几份,快速排序通过选取一个关键数据,再根据它的大小,把原数组分成两个子数组,第一个数组里的数都比这个主元素要小,而另一个数组里的数都大于或等于它, 2.治 用递归来处理两个子数组的排序,然后合并 T(n)=θ(n) 快排的两种实现:package test...原创 2018-02-27 23:00:52 · 220 阅读 · 0 评论