第一讲数据结构基本概念.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文档。上传文档
查看更多
第一讲数据结构基本概念ppt课件

课程概述 内容提要: 本课程是计算机类专业基础课。主要内容有:数据结构和算法设计与分析的基本知识,各种基本数据结构的定义,存储结构、相应的算法以及应用,掌握基本的数据结构与算法的关系。培养学生结合实际应用,设计有效的算法和数据结构的能力。 教学目的与要求 要求通过学习,掌握基本算法和数据结构,它是学习操作系统、编译原理、数据库原理等计算机专业核心课程的基础,掌握好这门课程的内容,是学习计算机其他相关课程的必备条件。 新加的课程 1.数字媒体技术属于工科,数据结构是相关专业考研课程之一; 2.后期开设的相关课程,如计算机图形学,数字图像处理,面向对象程序设计等,包括音频、视频、图形、图像、动画方向中的课程,都会用到算法、编码、编程等方面的内容,如霍夫曼编码,快速傅里叶变换等; 3.通过此门课程的学习,关键是让学生培养一种逻辑思维能力,学习编程的基础和思想, 统考课程 分为数据结构、计算机组成原理、操作系统和计算机网络四个部分 1、数据结构,严蔚敏主编(45分) 2、操作系统 ,汤小丹主编 3、计算机组成原理, 唐朔飞主编 4、计算机网络,谢希仁主编。 主要内容 第一章:绪论 第二章:线性表 第三章:栈和队列 第四章:串 第五章:数组和广义表 第六章:树与二叉树 第七章:图 第九章:查找 第十章:内部排序 例一、分苹果问题 有n个苹果,两个人分。规定:两人依次取,每次最多取1~m个,最后取到苹果者获胜。试编程解决之,并给出具体的获胜策略。 思路:具体实例n=10。m=3 从最后结果向前倒推。 例2.A={1,2,3,4,5,6,7,8,9,10},求A的所有子集的元素之和。 怎么办? 直接思路: 子集的元素个数分类计算(穷举) N=10 可以 n=100 解决问题的方法(算法) 算法复杂性的定义 设算法中出现的基本运算为o1,o2,….ok 基本运算 的次数 e1,e2,….ek ei显然应为N,I的函数。 设oi的运算时间为ti 则算法的运行时间为t1e1(N,I)+…….tkek(N,I) 1.6 算法复杂性分析 以上分别是最坏情况下、最好情况下和平均情况下的时间复杂性。 其中DN是规模为N的合法输入的集合;I*是DN中使T(N, I*)达到TMax(N)的合法输入;I-是DN中使T(N, I-)达到TMin(N)的合法输入;而P(I)是在算法的应用中出现输入I的概率。 和算法执行时间相关的因素: 1.算法选用的策略 2.问题的规模 3.编写程序的语言 4.编译程序产生的机器代码的质量 5.计算机执行指令的速度 一个特定算法的“运行工作量” 的大小,只依赖于问题的规模(通常用整数量n表示),或者说,它是问题规模的函数。 假如,随着问题规模 n 的增长,算法执行时间的增长率和 f(n) 的增长率相同,则可记作: T (n) = O(f(n)) 称T (n) 为算法的(渐近)时间复杂度。 如何估算 算法的时间复杂度? 二、数据类型 在用高级程序语言编写的程序中, 必须对程序中出现的每个变量、 常量或表达式,明确说明它们所 属的数据类型。 例如,C ++中提供的基本数据类型有: 整型 int 浮点型 float 字符型 char 逻辑型 bool ( C++语言) 双精度型 double 实型( C++语言) 数据类型 是一个 值的集合 和定义在此集合上的 一组操作 的总称。 不同类型的变量,其所能取的值的范围不同,所能进行的操作不同。 三、抽象数据类型 (Abstract Data Type 简称ADT) 是指一个数学模型以及定义在此数学模型上的一组操作。 例如,抽象数据类型复数的定义: 数据对象: D={e1,e2|e1,e2∈RealSet } 数据关系: R1={e1,e2 | e1是复数的实数部分 | e2 是复数的虚数部分 } ADT Complex { 基本操作: AssignComplex( Z, v1, v2 ) 操作结果:构造复数 Z,其实部和虚部 分别被赋以参数 v1 和 v2 的值。 DestroyComplex( Z) 操作结果:复数Z被销毁。 GetReal( Z, realPart ) 初始条件:复数已存在。 操作结果:用realPart返回复数Z的实部值。 GetImag( Z, ImagPart ) 初始条件:复数已存在。 操作结果:用ImagPart返回复数Z的虚部值。 Add( z1,z2, sum ) 初始条件:z1,

文档评论(0)

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

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

1亿VIP精品文档

相关文档