Cristiano算法设计基础

一、基础知识
1、算法理论主要研究算法的设计技术和算法的分析技术
2、算法设计的主要任务是描述问题的解决方案
3、算法分析的主要任务是对算法进行比较
4、算法的核心是效率
5、计算机专业的基本学科能力归纳为计算思维能力、算法设计与分析能力、程序设计与实现能力、系统能力
二、算法的基本概念
算法是对特定问题求解步骤的一种描述,是指令的有限序列
2.1 算法的特性
1、算法具有五种特性:输入、输出、有穷性、确定性、可行性
2、一个好算法除了满足上述五种特性外,还具有:确定性、健壮性、可理解性、抽象分级、高效性
2.2 算法的描述方法
一般有四种方法描述算法:自然语言、流程图、程序设计语言、伪代码
2.3 算法设计的一般过程
1、理解问题——弄清求解的目标,给出了哪些已知信息、显式条件或隐式条件,应该用什么形式的数据表达计算结果
2、选择算法设计技术——蛮力法、分治法、减治法、动态规划法、贪心法、回溯法、分支限界法、近似算法、概率算法等
3、设计并描述算法——伪代码是比较适合的描述算法的方法
4、手工运行算法
5、分析算法效率
6、实现算法
2.4 重要的问题类型
1、查找问题
2、排序问题
3、图问题
4、组合问题
5、几何问题——两个经典几何问题:①最近对问题:在给定平面上的n个点中,求距离最近的两个点;②凸包问题:要求找出一个能把给定集合中的所有点都包含在里面的最小凸变形

猜你喜欢

转载自blog.csdn.net/Cristiano_san/article/details/108440648