摘要: 2.3 算法设计 (合并排序)插入排序使用的是增量(incremental)方法。另一种设计策略,叫做“分治法”(divide-and-conquer)。分制算法的优点之一是很容易确定运行时间。分治策略:将原问题划分成为n个规模较小而结构与原问题相似的子问题;递归的解决这些子问题,然后再合并其结果,就得到原问题的解。分制模式在每一层递归上都有三个步骤:分解(divide),解决(conquer),合并(combine)。 合并排序(merge sort)的关键步骤在于合并两个已排序子序列。MERGE过程的时间代价是theta(n)。伪代码实现MERGE过程:(避免检查是否每一个堆都是空的,在. 阅读全文
posted @ 2012-11-21 10:49 呲牙猫 阅读(441) 评论(0) 推荐(0) 编辑
摘要: 鉴于双十一亚马逊的折扣,买了不少书,其中就有心仪很久的《算法导论》。 于是决定记录自己的阅读所得 = =b...第二章 2.1 插入排序 INSERTION-SORT 其实以前学习数据结构的时候是学过这些的,不过又忘掉了而已,一直以来学得实在不用心,也并没有天赋。 插入排序算法是一个对少量元素进行排序的有效算法。其参数是一个数组A[1..n],输入的各个数字是原地排序(sorted inplace),意即这些数字就是在数组A中进行重新排序的,在任何时刻,至多只有其中的常数个数字是存储在数组之外的。附伪代码2012-11-16INSERTION SORT[A]for j <- 2 to l 阅读全文
posted @ 2012-11-16 20:26 呲牙猫 阅读(140) 评论(0) 推荐(0) 编辑