网站大量收购独家精品文档,联系QQ:2885784924

第一章数据结构说课.ppt

  1. 1、本文档共46页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
An Introduction to Data Structure 第一章 绪论 1.1 什么是数据结构(重点) 1.2 基本概念和术语 1.3 抽象数据类型的表示与实现(简单提及,难点) 1.4 算法和算法分析 1.1 什么是数据结构 先看几个例子 例1 书目检索系统自动化 例2 人机对奕问题 例三 多叉路口交通灯管理问题 (此页有备注页) 数据(data)—所有能输入到计算机中去的描述客观事物的符号。 数据元素(data element)—数据的基本单位,也称结点(node)或记录(record)。如例1中的一条记录,例2中的格局,例3中的顶点(圆圈)。 数据项(data item)—有独立含义的数据最小单位,也称域(field)。一个数据元素有时可由若干个数据项组成。如:例1中一条记录(数据元素)可以包含若干数据项(书名、作者名、分类号等)。 数据的逻辑结构—只抽象反映数据元素的逻辑关系 数据的存储(物理)结构—数据的逻辑结构在计算机存储器中的实现 数据类型—高级语言中指数据的取值范围及其上可进行的操作的总称 算法(algorithm)—解决某一特定问题的具体步骤的描述,是指令的有限序列 算法特性— 算法效率的度量——用依据该算法编制的程序在计算机上执行所消耗的时间来度量。衡量算法效率的两个量。 An introduction to Visual C++ #include iostream.h void swap(long x,long y) { long j; ? j=x; ? x=y; ? y=j; } void main( ) { long a=12345,b=54321; ? couta bendl; ? swap(a,b); ? couta bendl;} 补充知识---引用 程序运行结果是: 12345 54321 54321 12345 由于引用是“别名”,实参与形参之间不是值传递,而是一种“映射”,所以对形参的改变,实际上就是对实参的改变(以前C中单纯的变量无法实现此交换操作)。 因而,说明成引用的参数,除了具有带入参数值的功能,还具有带出值得功能,相当于把函数操作后的结果带入到了调用它的函数之中。 1.4 算法和算法分析 算法的描述—采用类C语言 算法的评价—衡量算法优劣的标准 正确性(correctness) 可读性(readability) 健壮性(robustness) 效率与低存储量 1.4 算法和算法分析 渐近时间复杂度:基本操作重复执行的次数的阶数 T(n)=O(f(n)) 其中的f(n)一般是算法中频度最大的语句频度。 注意:通常把渐近时间复杂度简称作时间复杂度 空间复杂度:s(n)=O(f(n)),研究的较少 1.4 算法和算法分析 例1:NXN矩阵相乘 for(i=1;i=n;i++) for(j=1;j=n;j++) {c[i][j]=0; for(k=1;k=n;k++) c[i][j]=c[i][j]+a[i][k]*b[k][j];** } 1.4 算法和算法分析 * * 数据结构 An Introduction to Data Structure 第一章 绪论 黑龙江科技大学计算机学院 例1 图书馆书目检索系统自动化问题 例2 人机对奕问题 例3 多叉路口交通灯管理问题 登录号: 书名: 作者名: 分类号: 出版单位: 出版时间: 价格: 书目卡片 书目文件 按书名 按作者名 按分类号 索引表 线性表 从上面例子中我们可以看出: 数据的逻辑结构:即表中各条记录之间的逻辑关系。 数据的存储结构:即表中各条记录以及他们之间的逻辑关系在计算机中的表示。(如父子关系) 数据的操作:即对上述表中的记录进行的运算的集合。在本例中的基本运算为检索(查找),可以根据登录号查找一本书(表一),根据书名(表二)、作者名(表三)、分类号(表四)查找一本书,插入(来新书)和删除(书报废)。 例1得出的结论: 树 …….. …….. …... …... …... …... 格局 从上面例子中我们可以看出: 数据的逻辑结构:即各个格局之间的逻辑关系。 数据的存储结构:即表各个格局以及他们之间的逻辑关系在计算机中的表示。(如父子关系) 数据的操作:即对上述各个格局进行的运算的集合。在本例中的基本运算树的深度,树中叶子结点的个数等。 例2得出的结论: C E D A B AB AC AD BA BC BD DA DB DC EA EB EC ED 图 从上面例子中我们可以看出: 数据的逻辑结构:即图中各个顶点以及他们之间的逻辑关系(用边表示)。 数据的存储结构:即图中各个顶点以及他们之间的逻辑关系

文档评论(0)

花仙子 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档