算法分析与数据结构
文章平均质量分 93
秋雨mac
自动化本科在读
展开
-
排序算法之快速排序
排序算法之快速排序参考过以下博客,在此表示感谢: 1. 白话经典算法系列之六 快速排序 快速搞定 2. 坐在马桶上看算法:快速排序1. 基本思路(挖坑填数 + 分而治之) 1.1 从数组A中取出一个数作为基准数,比如说取A[0],将A[0]保存到x中,这时可以看作已经在元素A[0]处挖了一个坑,可以将其他数据填充到这里来。初始化,i = 0(left),j = 9(right),x = A原创 2015-10-25 16:30:21 · 469 阅读 · 0 评论 -
归并排序分析与代码实现
基本思路 1 正向思维 2 逆向思维 代码实现 复杂度分析 1. 基本思路1.1 正向思维假设现在有两个已经按升序顺序排好序的数组A[lo,mi]和A[mi+1,hi]。我们可以按以下方法将这两个数组合并成一个按升序排序的新数组A[lo,hi]。 初始时,我们另i = lo, j = mi+1,这样我们可以写出合并步骤的伪代码描述:while(true) { if(A[i] > A[j])原创 2015-10-27 12:40:06 · 467 阅读 · 0 评论