【数据结构(青岛大学 王卓)】第1章 绪论 学习笔记(五)1.4 算法和算法分析1、1.4 算法和算法分析2

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

目录

1.4 算法和算法分析1

1、数据结构的研究内容

2、算法的定义

3、算法的描述

(1)自然语言

(2)流程图

(3)伪代码

(4)程序代码

4、算法与程序

5、算法特性

(1)有穷性

(2)确定性

(3)可行性

(4)输入

(5)输出

6、算法设计的要求

(1)正确性(Correctness)

(2)可读性(Readability)

(3)健壮性(Robustness)

(4)高效性(Efficiency)

1.4 算法和算法分析2

1、算法分析

2、算法效率

3、算法时间效率的度量

(1)度量方法

(2)运行时间

4、算法时间复杂度的渐进表示法

5、算法时间复杂度定义


1.4 算法和算法分析1

1、数据结构的研究内容

2、算法的定义

算法是对特定问题求解方法和步骤的一种描述,它是指令的有限序列。其中每个指令表示一个或多个操作。

简而言之,算法就是解决问题的方法和步骤。(Step1:……Step2:……Step3:……)

3、算法的描述

(1)自然语言

英语、中文。

算法,求一元二次方程的根:

①输入方程的系数a、b、c。

②判断a是否等于零。如果等于零,则提示不是一元二次方程。

③计算d=b^{2}-4ac

④判断d。如果d等于零,计算并输出两个相等实根。如果d小于零,输出没有实根。如果d大于零,输出两个不等实根。

⑤结束。

(2)流程图

传统流程图、NS流程图。

(3)伪代码

类语言:类C语言。

(4)程序代码

C语言程序、JAVA语言程序……

4、算法与程序

算法是解决问题的一种方法或一个过程,考虑如何将输入转换成输出,一个问题可以有多种算法。

程序是用某种程序设计语言对算法的具体实现。

程序=数据结构+算法(数据结构通过算法实现操作;算法根据数据结构设计程序)。

5、算法特性

一个算法必须具备以下五个重要特性。

(1)有穷性

一个算法必须总是在执行有穷步之后结束,且每一步都在有穷时间内完成。

(2)确定性

算法中的每一条指令必须有确切的含义,没有二义性,在任何条件下,只有唯一的一条执行路径,即对于相同的输入只能得到相同的输出。

(3)可行性

算法是可执行的,算法描述的操作可以通过已经实现的基本操作执行有限次来实现。

(4)输入

一个算法有零个或多个输入。

(5)输出<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值