算法指的是一种计算过程,具有以下性质: 通用性:即适用于某一类问题中的所有个体,而不只是用来解决一个具体的问题。 能行性:即应有明确的步骤一步一步地引导计算的进行。 机械性:即每个步骤都是机械的、定死的,不需要计算者临时动脑筋。 有限性:至少对某些输入数据,算法应在有限多步内结束,并给出计算结果。 离散性:算法的输入数据及输出数据都应是离散的符号。 4、算法:递归、排序、查找 算法的基本要求: 正确 易维护(可读,易修改) 方便使用 高效 速度快 运行时间少,时间复杂度低 占用内存少 空间复杂度低 算法的效率可以测试,用大量输入数据测量运行的时间和占用的内存,通过比较判别和选择效率高的算法 更重要的是编程前的分析和估计,即理论的计算,给出事前的判断 4、算法:递归、排序、查找 递归——一个关于递归的故事 一个没有去过北京的人问:天安门是什么样子?去过北京的人答道:天安门有个城楼,城楼上有个国徽,国徽里有个天安门,天安门有个城楼,城楼上有个国徽,国徽里有个天安门, …… 4、算法:递归、排序、查找 ——递归 4、算法:递归、排序、查找 ——递归 递归是常用的编程技术,其基本思想是“自己调用自己”。 数学上最常见、最简单的递归问题就是自然数的阶乘。 n=1 n! = 1; n1 n! = n * (n-1)!; 适合用递归方法求解的问题 有一个初始状态 后续的情况可由前面的状态推出 如Fibonacci数列 F1 = F2 = 1; Fn = Fn-1 + Fn-2 (n=3) 递归与循环 long Fibonacci(int n) { if( n==1|| n==2 ) return 1; else return Factorial(n-1) + Factorial(n-2) ; } long Fibonacci(int n) { int i; long f1,f2,fn; if( n==1|| n==2 ) return 1; f1 = 1; f2 = 1; for( i=3; i=n; i++) { fn = f1 + f2; f1 = f2; f2 = fn; } return fn; } 4、算法:递归、排序、查找 ——递归 递归问题欣赏 河内塔( Hanoi Tower)问题:这是一个流传很久的游戏。 1. 有三根杆子A,B,C。A杆上有n只碟子 2. 每次移动一块碟子,小的只能叠在大的上面 3. 把所有碟子从A杆经C杆全部移到B杆上. 递归求解: 1. 若只有一只碟子,直接将它从A杆移到B杆; 2. 把n-1只碟子从A杆经B杆移动到C杆,将A杆上第n只碟子移到B杆;然后再将n-1只碟子从C杆经A杆移到B杆。 4、算法:递归、排序、查找 ——递归 此外,递归是人工智能语言Lisp/Prolog等进行问题求解的基本手段。 递归问题欣赏 8皇后问题:把8个皇后放在8 x 8的棋盘上,使得任何一个都不将其他7个的军。 骑士巡游问题:给出一个n x n的棋盘,一位骑士按国际象棋的规则移动——放在第(0,0)格里,找出一种可以走遍整个棋盘的方案(如果存在的话)。即做n2-1次移动,使得棋盘上每个格子都恰好只被访问一次。 4、算法:递归、排序、查找 ——递归 4、算法:递归、排序、查找 ——排序 排序是指对一些数据信息的重新组织,通常是对一个数组进行重新操作,使得信息由大到小(降序)或者由小到大(升序)存储。要求排序是很一种基本的需要。我们所感兴趣的是如何寻找到一个好的办法来进行排序。 就地排序算法:不增加新的存储空间 1、插入排序法(Insert Sort) 将一个数插入到序列中的合适位置。 2、选择排序法(Selection Sort) 每次把最小(大)的元素交换到最前面。 3、冒泡排序法(Bubble Sort) 比较并交换相邻的元素,直到所有元素都被放到合适的位置。 4、算法:递归、排序、查找 ——排序 4、算法:递归、排序、查找 ——排序:插入排序(思想) 4、算法:递归、排序、查找 ——排序:插入排序(算法) int a[] = {19, 2, 35, -6, -12, 5, 23, 16, 9, 0}; int i,j,k; int x; for(i=1; i a.length; i++) // a.length-1轮插入排序 { x = a[i];
您可能关注的文档
最近下载
- 山东服装职业学院单招职业倾向性测试题库附答案详解.docx VIP
- 老挝的历史发展与现状及其与中国的关系[整理版].doc VIP
- 民航安检、航班机组报警和公安警情处置规范..pdf VIP
- 西电电路考研题库及答案.doc VIP
- 2025年电路补考题型及答案解析.doc VIP
- 深度解析(2026)《GBT 12602-2020起重机械超载保护装置》.pptx VIP
- 深度解析(2026)《GBT 45374-2025起重机械 危险源辨识》(2026年)深度解析.pptx VIP
- 2025版《建设工程监理规范》.docx VIP
- ABB+ACS800变频器电路图.pdf VIP
- 一种电镀含镍废水零排放工艺.pdf VIP
原创力文档

文档评论(0)