复习链接
计算机算法设计与分析第一章思维导图
计算机算法设计与分析第二章思维导图&&知识点总结
计算机算法设计与分析第三章思维导图&&知识点总结
计算机算法设计与分析第四章思维导图&&知识点总结
计算机算法设计与分析第五章思维导图&&知识点总结 ( 初稿 )
计算机算法设计与分析第六章思维导图&&知识点总结 ( 初稿 )
计算机算法设计与分析第七章思维导图&&知识点总结 ( 初稿 )
思维导图
没有思维导图,单纯为了格式整齐好看哈哈哈(~ ̄▽ ̄)~
随机化算法
1、随机化算法的特征
1.1基本特征:对所求解问题的同一实例用同一随机化算法求解两次可能的得到完全不同的效果。
1.2三要素:输入实例、随机源、停止准则
1.3特点:简单、快速、易于并行化
2、随机化算法的分类,每一类算法的特征及其适用性
2.1数值随机化算法
数值随机化算法常用于数值问题的求解,得到的往往是近似解,且近似解的精度随计算时间的增加不断提高。
2.2蒙特卡罗方法
蒙特卡罗方法用于求解问题的准确解。例如判断”是”“否”。用蒙特卡罗算法能求得问题的一个解,但这个解未必是正确的。其求得正确解的概率依赖于算法所用的时间,算法所用的时间越多,得到正确解的概率就越高。蒙特卡罗算法的主要缺点也在于此。一般情况下,无法有效地判断得到的解是否肯定正确。
2.3拉斯维加斯算法
拉斯维加斯算法不会得到不正确的解。一旦用拉斯维加斯算法找到一个解,这个解就一定是正确解,但有时候找不到解。与蒙特卡罗算法类似,拉斯维加斯算法找到正确解的概率随着所用时间的增加而提高。对于所求解问题的任一实例,用同一拉斯维加斯算法反复对该实例求解足够多次,可使求解失效的概率任意小。
2.4舍伍德算法
舍伍德算法总能求得问题的一个解,且求得的解总是正确的。当一个确定性算法在最坏情况下的计算复杂性与其在平均情况下的计算复杂性有较大差别时,可在这个确定性算法中引入随机性将它改造成一个舍伍德算法,消除或减少问题的好坏实例间的这种差别。舍伍德算法的精髓不是避免算法的最坏情形行为,而是设法消除这种最坏情形行为与特例实例之间的关联性。
2.5应用:
数值概率算法:计算圆周率
舍伍德算法:随机化快排、随机化的线性时间选择,跳跃表
拉斯维加斯:N后问题,如何改进
蒙特卡洛算法:P正确的蒙特卡罗算法,主元素问题,素数测试