标签:
2016年初,研一上学期期末考试前,复习并总结算法分析与设计科目的内容。复习过程参照《算法导论》中文第2版,同时参照PPT,章节划分根据PPT内容
概要:
第一章 概述
第二章 插入排序&分治策略
第三章 复杂度分析
第四章 堆与堆排序
第五章 快速排序
第六章 线性时间排序
算法的应用范围
算法在诸如生物等诸多领域有其应用
算法的意义
算法在很多情况下让不可能完成的事情变成了可能,让处理的很慢的过程变快。
一个铺垫
一串不全为0的数,怎么取能拿到一段和最大的子串
插入排序
循环不变式的证明(不考)
初始化:
保持:
终止:
逐步计算插入排序的时间复杂度:
结论(基于RAM模型下):
Best Case:O(n)
Worst Case:O(n^2)
分治策略
概述:
大问题拆成多个小问题,分别计算每个小问题的解最后把多个小问题合成原问题的解
MERGE Sort
分析归并排序
课后习题总结
时间复杂度分析
归并排序分析
代换法
递归树
主定理
三种情况:
课后习题总结
代换法证明时间复杂度
堆的概念
两个关键的函数
堆排序时间复杂度
必会技能:
课后习题总结:
快速排序
时间复杂度
随机快排
时间复杂度
课后习题总结
计数排序
关键:被排序的n个数在0~k之间
掌握计数排序的完整过程,可以手跑
基数排序
时间复杂度
桶排序
算法小结(重要考点)
标签:
原文地址:http://www.cnblogs.com/jhalan6/p/5117405.html