☆ 数据结构与算法
文章平均质量分 72
吴晓如
这个作者很懒,什么都没留下…
展开
-
三大基本排序--选择、冒泡、插入
引言: 老师已经是第三次跟我们讲排序了,可想而知排序它的重要性,这三种基本排序的方式值得我们思考和研究,理解其中的思想。简述: 概念: 将杂乱无章的数据元素,通过一定的方法按关键字顺序排列的过程叫做排序 常见排序算法: 快速排序、希尔排序、堆排序、直接选择排序不是稳定的排序算法,而基数排序、冒泡排序、直接插入排序、折半插入排序、归并排序是稳定的排序算法。原创 2016-05-07 11:10:33 · 1729 阅读 · 74 评论 -
快速排序--C#代码篇
引言: 上周总结了什么是快速排序,但是代码没有写出来,今天结合网上的资料总结了一下代码。主函数: static void Main(string[] args) { //定义一个数组 int[] array = { 49, 38, 65, 97, 76, 13, 27 };原创 2016-09-18 22:59:26 · 673 阅读 · 31 评论 -
算法-动态规划
what 基本思想:1、分解成若干子问题2、求解子问题3、从子问题的解得到原问题的解 从基本思想上看其与分治很像,他们的区别在于子问题是否独立,子问题之间没有关系是分治,子问题不独立则是动态规划。how 求解步骤:1、找出最优解的性质,刻画其结构特征2、递归地定义最优解的值3、以自底向上的方式计算出最优值4、根据最优值信息,构造最优解原创 2016-11-06 19:46:58 · 381 阅读 · 20 评论 -
归并排序
引言: 上周四的时候我们软考小组安排了讲解一个算法,我们首先进行的是分治法,里面举的例子就是归并排序,那么归并排序是什么那,为什么说是采用了分治的思想那,接下来跟着小编一起往下看吧。定义: 归并排序(Merge Sort)是利用"归并"技术来进行排序。归并是指将若干个已排序的子文件合并成一个有序的文件。分类:归并排序有两种方式:(1): 自底向上原创 2016-09-30 20:31:56 · 849 阅读 · 66 评论 -
最常用的排序--快速排序
引言: 最近一直在接触算法有关的东西,数据结构中有讲到,老师也经常讲,但对于快速排序的理解一直不是很好,昨天从图书馆借了一本《啊哈!算法》,看了里面的讲解,这才理解,下面进行一下总结。简介: 之所以称为快速排序,是因相对于其他排序来说效率高,速度快,主要是采用了"二分"的思想,跟着我来体会一下吧。过程: 在快速排序过程中,需要随便找一个"基准数"原创 2016-09-11 22:12:38 · 706 阅读 · 30 评论 -
冒泡排序
第一版 第二版:优化:如果没有可交换的元素,则结束排序 第三版:优化,如果元素基本有序时,减少交换的次数原创 2018-08-12 21:40:24 · 255 阅读 · 0 评论