数据结构课件1第1章绪论.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文档。上传文档
查看更多
数据结构 王治国 1.1  什么是数据结构 人机对奕问题 多叉路口交通灯管理问题 “学生”表格 “课程”表格 “选课单”包含如下信息 学号 课程编号 成绩 时间 学生选课系统中实体构成的网状关系 求解非数值计算的问题: 设计出合适的数据结构及相应的算法 即:首先要考虑对相关的各种信息如何表示、组织和存储? 数据结构的研究内容为: 研究非数值计算的程序设计问题中计算机的操作对象以及它们之间的关系和操作。 整数数据对象 N = { 0, ?1, ?2, … } 学生数据对象 学生记录的集合 linearity =(D,S) D = {01,02,03,04,05,06,07,08,09,10,} S = {05,01,01,03,03,08,08,02, 02,07,07,04,04,06,06,09,09,10} 数据元素之间的联系: 1:1 tree =(D,S) D = {01,02,03,04,05,06,07,08,09,10,} S = {01,02,01,03,01,04,02,05, 02,06,03,07,03,08,03,09,04,10} 数据元素之间的联系: 1:N 逻辑结构和存储结构都相同, 但运算不同, 则数据结构不同. 例如, 栈与队列 对于一种数据结构, 常见的运算 插入 删除 修改 查找 排序 定义:在一种程序设计语言中,变量所具有的数据种类  抽象数据类型 (ADT: Abstract Data Types) 更高层次的数据抽象 由用户定义,用以表示应用问题的数据模型 由基本的数据类型组成, 并包括一组相关的操作 自然数的抽象数据类型定义 ADT NaturalNumber is objects: 一个整数的有序子集合,它开始于0, 结束于机器能表示的最大整数(MaxInt)。 Function: 对于所有的 x, y ? NaturalNumber; False, True ? Boolean, +、-、、==、=等都是可用的服务(操作或运算)。 Zero( ) : NaturalNumber 返回自然数0 IsZero(x) : if (x==0) 返回True Boolean else 返回False Add (x, y) : if (x+y=MaxInt)返回 x+y NaturalNumber else 返回MaxInt Subtract (x, y) : if (x y) 返回 0 NaturalNumber else 返回 x - y Equal (x, y) : if (x==y) 返回True Boolean else 返回 False Successor (x) : if (x==MaxInt) 返回 x NaturalNumber else 返回 x+1 end NaturalNumber 1. 预定义常量及类型 #define TRUE 1 #define FALSE 0 #define OK 1 #define ERROR 0 #define OVERFLOW -1 typedef int Status; 算法定义:是指令的有限序列集,对特定问题求解步骤的一种描述 算法的描述: 自然语言 流程图 程序设计语言 伪码 算法的评价 正确性 可读性 健壮性 高效性(时间代价和空间代价) 算法的效率的度量 算法效率:用依据该算法编制的程序在计算机上执行所消耗的时间来度量 加法规则 针对并列程序段 T(n, m) = T1 (n) + T2 (m) = O(max (f (n), g (m))) 乘法规则 针对嵌套程序段 T (n, m) = T1 (n) * T2 (m) = O(f (n)*g (m)) 两个并列循环的例子 01 02 03 04 07 08 09 05 06 10 树结构示意图 树结构 tree=(D,S) D={a,b,c,d,e,f,g,h,i,j,k,l} S={a,b,a,c,a,d,b,e,b,f,b,g,

文档评论(0)

开心农场 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档