数据结构-第01章-绪论.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构-第01章-绪论

数 据 结 构 孟 刚 二○一二年二月 课程介绍 计算机及相关学科的重要专业基础课 研究数据的逻辑结构、表示形式以及基本操作的算法 设计和实现编译程序、操作系统、数据库系统等系统程序和大型应用程序的基础 计算机科学的“方法论” 学习本课程的基本方法 ① 上课认真听讲; ② 仔细阅读教材中的大量算法,从而体会并最终掌握数据结构中的基本概念; ③ 独立完成每个章节后面的练习题; ④认真完成上机实习作业,培养应用算法和编写调试程序的能力。 教师联系方式 办公室:第二实验楼108 GIS教研室 电子邮箱: mgbooker@163.com QQ电话第一章 绪 论 1.1 什么是数据结构 1.2 基本概念和术语 1.3 抽象数据类型的表示与实现 1.4 算法和算法分析 1.4.1 算法 1.4.2 算法设计的要求 1.4.3 算法效率的度量 1.4.4 算法的存储空间的需求 第一章 绪 论 计算机产业飞速发展 计算机的应用从科学计算扩展到非数值计算领域:自动控制、测量测试、仿真、辅助设计制造、人工智能、多媒体…… 计算机加工处理的对象多样而复杂:文本、图形、图象、音乐、视频…… 因此,为了编写出一个“好”的程序,必须分析待处理的对象的特征及各对象之间存在的关系,这就是“数据结构”这门学科形成和发展的背景。 由以上3个例子可见,描述这类非数值计算问题的数学模型不再是数学方程,而是诸如表、树和图之类的数据结构。 上述数据结构的定义仅是对操作对象的一种数学描述——是从操作对象抽象出来的数学模型。 定义: 1. 结构定义中的“关系”描述的是数据元素之间的逻辑关系,因此又称为数据的逻辑结构。 2.数据结构在计算机中的表示称为数据的物理结构,又称为存储结构。 数据结构的研究目的 和研究内容 研究目的:寻求有效的组织和处理非数值数据的理论技术和方法。 研究内容: 数据的逻辑结构(线性、树、图) 数据的存储结构(顺序、链表) 相应的基本操作运算(编辑、修改、查找、排序) 1.4 算法和算法分析 算法:是对特定问题求解步骤的一种描述 算法是指令的有限序列,其中每一条指令表示一个或多个操作。 算法的表示 一个算法的表示需要某种形式的语言: 自然语言,或图形语言。 1.4.1 算法特性 算法具有以下五个特性: (1)有穷性 一个算法必须总是在执行有穷步之后结束,且每一步都在有穷时间内完成。 (2)确定性 算法中每一条指令必须有确切的含义。不存在二义性。且算法只有一个入口和一个出口。 (3)可行性 一个算法是可行的。即算法描述的操作都是可以通过已经实现的基本运算执行有限次来实现的。 例1、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]+=a[I][k]*b[k][j]; } 学习网站 1. /Article/kfyy/sjjg/ 2 ./course_ware/data_structure/web/main.htm 3 ./keywords/data-structure.html 有的情况下,算法中基本操作重复执行的次数还随问题的输入数据集不同而不同。例如起泡排序算法: void bubble-sort(int a[],int n) for(I=n-1;change=TURE;I1 change;--I) { change=false; for(j=0;jI;++j) if (a[j]a[j+1]) { a[j] ←→a[j+1]; change=TURE} } 最好情况:0次 最坏情况:1+2+3+…+n-1 =n(n-1)/2 平均时间复杂度为:O(n2) 1.4.4算法的存储空间需求 空间复杂度:算法所需存储空间的度量,记作: S(n)=O(f(n)) 其

文档评论(0)

skvdnd51 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档