下载此文档

数据结构--chap1绪 论.ppt


文档分类:IT计算机 | 页数:约46页 举报非法文档有奖
1/46
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/46 下载此文档
文档列表 文档介绍
数据结构--chap1绪 论
教学安排
总课时:48(32+16)课时
课堂教学:32课时,每周1次,每次3课时
实验:16个课时
共计15个教学周
第一章 绪 论
数据结构讨论的范畴
Niklaus Wirth:
agval 的值
float GetReal( cpmplex Z );
// 返回复数 Z 的实部值
float Getimag( cpmplex Z );
// 返回复数 Z 的虚部值
void add( complex z1, complex z2,
complex &sum );
// 以 sum 返回两个复数 z1, z2 的和
// -----基本操作的实现
void add( complex z1, complex z2, complex &sum )
{
// 以 sum 返回两个复数 z1, z2 的和
= + ;
= + ;
}
算法是为了解决某类问题而规定的一个有限长的操作序列。一个算法必须满足以下五个重要特性:
1.有穷性 2.确定性 3.可行性
4.有输入 5.有输出
算法
1.有穷性 对于任意一组合法输入值,在执行有穷步骤之后一定能结束,即:
算法中的每个步骤都能在有限时间内完成。
2.确定性 对于每种情况下所应执行的操作,在算法中都有确切的规定,使算法的执行者或阅读者都能明确其含义及如何执行。并且在任何条件下,算法都只有一条执行路径。
3.可行性 算法中的所有操作都必须足够基本,都可以通过已经实现的基本操作运算有限次实现之。
4.有输入 作为算法加工对象的量值,通常体现为算法中的一组变量。有些输入量需要在算法执行过程中输入,而有的算法表面上可以没有输入,实际上已被嵌入算法之中。
5.有输出 它是一组与“输入”有确
定关系的量值,是算法进行信息加工后得到的结果,这种确定关系即为算法的功能。
算法设计的原则
设计算法时,通常应考虑达到以下目标:
1.正确性
2. 可读性
3.健壮性
4.高效率与低存储量需求
1.正确性
首先,算法应当满足以特定的“规格说明”方式给出的需求。
其次,对算法是否“正确”的理解可以有以下四个层次:
a.程序中不含语法错误;
b.程序对于几组输入数据能够得出满足要求的结果;
c.程序对于精心选择的、典型、苛刻且带有刁难性的几组输入数据能够得出满足要求的结果;
通常以第 c 层意义的正确性作为衡量一个算法是否合格的标准。
d.程序对于一切合法的输入数据都能得出满足要求的结果;
2. 可读性
算法主要是为了人的阅读与交流,
其次才是为计算机执行,因此算法应该易于人的理解;另一方面,晦涩难读的程序易于隐藏较多错误而难以调试。
3.健壮性
当输入的数据非法时,算法应当恰当地作出反映或进行相应处理,而不是产生莫名奇妙的输出结果。并且,处理出错的方法不应是中断程序的执行,而应是返回一个表示错误或错误性质的值,以便在更高的抽象层次上进行处理。
4.高效率与低存储量需求
通常,效率指的是算法执行时间;
存储量指的是算法执行过程中所需的
最大存储空间,两者都与问题的规模
有关。
算法效率的
衡量方法和准则
通常有两种衡量算法效率的方法:
事后统计法
事前分析估算法
缺点:1.必须执行程序
2.其它因素掩盖算法本质
和算法执行时间相关的因素:
1.算法选用的策略
2.问题的规模
3.编写程序的语言
4.编译程序产生的机器代码的质量
5.计算机执行指令的速度
一个特定算法的“运行工作量”
的大小,只依赖于问题的规模(通常用整数量n表示),或者说,它是问题规模的函数。
假如,随着问题规模 n 的增长,算法执行时间的增长率和 f(n) 的增长率相同,则可记作:
T (n) = O(f(n))
称T (n) 为算法的(渐近)时间复杂度。
如何估算
算法的时间复杂度?
算法 = 控制结构 + 原操作
(固有数据类型的操作)
算法的执行时间 =
原操作(i)的执行次数×原操作(i)的执行时间
算法的执行时间

原操作执行次数之和 成正比
从算法中选取一种对于所研究的问题来说是 基本操作 的原操作,以该基本操作 在算法中重复执行的次数 作为算法运行时间的衡量准则。






void mult(int a[],

数据结构--chap1绪 论 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数46
  • 收藏数0 收藏
  • 顶次数0
  • 上传人华子
  • 文件大小488 KB
  • 时间2022-05-24