目录
1.4 算法和算法分析1
1、数据结构的研究内容

2、算法的定义
算法是对特定问题求解方法和步骤的一种描述,它是指令的有限序列。其中每个指令表示一个或多个操作。
简而言之,算法就是解决问题的方法和步骤。(Step1:……Step2:……Step3:……)
3、算法的描述
(1)自然语言
英语、中文。
算法,求一元二次方程的根:
①输入方程的系数a、b、c。
②判断a是否等于零。如果等于零,则提示不是一元二次方程。
③计算。
④判断d。如果d等于零,计算并输出两个相等实根。如果d小于零,输出没有实根。如果d大于零,输出两个不等实根。
⑤结束。
(2)流程图
传统流程图、NS流程图。


(3)伪代码
类语言:类C语言。
(4)程序代码
C语言程序、JAVA语言程序……
4、算法与程序
算法是解决问题的一种方法或一个过程,考虑如何将输入转换成输出,一个问题可以有多种算法。
程序是用某种程序设计语言对算法的具体实现。
程序=数据结构+算法(数据结构通过算法实现操作;算法根据数据结构设计程序)。
5、算法特性
一个算法必须具备以下五个重要特性。
(1)有穷性
一个算法必须总是在执行有穷步之后结束,且每一步都在有穷时间内完成。
(2)确定性
算法中的每一条指令必须有确切的含义,没有二义性,在任何条件下,只有唯一的一条执行路径,即对于相同的输入只能得到相同的输出。
(3)可行性
算法是可执行的,算法描述的操作可以通过已经实现的基本操作执行有限次来实现。
(4)输入
一个算法有零个或多个输入。

本文是青岛大学王卓教授《数据结构》课程的学习笔记,深入探讨了算法的定义、描述方式(包括自然语言、流程图、伪代码和程序代码)、算法与程序的区别、算法的五大特性(有穷性、确定性、可行性、输入和输出)以及算法设计的基本要求(正确性、可读性、健壮性和高效性)。此外,还介绍了算法分析的重要性,特别是时间效率和空间效率的考量,以及算法时间复杂度的渐进表示法和定义。
】第1章 绪论 学习笔记(五)1.4 算法和算法分析1、1.4 算法和算法分析2&spm=1001.2101.3001.5002&articleId=106533260&d=1&t=3&u=3cb8b69ef0d1489ab29b1fb2c90bd445)
671

被折叠的 条评论
为什么被折叠?



