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

数据结构zmz1绪论.pptVIP

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

数据结构; 数据结构:考试课、 64学时 授课; 48学时 上机训练:16学时 先修课程:离散数学、C语言(或其他语言) 后续课程:面向对象程序设计、操作系统、 数据库系统、人工智能等; 课程安排 授课:Week 3~18 星期一(1、2节) 星期四(单周,1、2节) 单元训练上机: 8次 星期四(双周,1,2节) ; 课程考核 数据结构 课程结束期末考试(闭卷笔试):60% 作业+上机+考勤+课堂:40% ;保持课堂安静,头脑清醒,思维活跃 认真、独立、按时完成并提交作业 重视上机实践;;思考 统计总分;;是一门研究程序设计问题中计算机的操作对象之间的关系和操作等等的学科 Pascal之父:尼古拉斯·沃斯Niklaus Wirth “算法+数据结构=程序” ;二、几个重要概念 ;数据(data)—所有能输入到计算机中去的符号(早期:数值,现在:字符、声音、图像);数据元素集合;1、集合 数据元素间除“同属于一个集合”外,无其它关系;2、线性结构 一个对一个,如线性表、栈、队列;2、线性结构 关于栈的故事;2、线性结构 汉诺塔;案例 人机对奕问题;案例 人机对奕问题;……..;3、树形结构 一个对多个;4、图形结构、网状结构 多个对多个;4、图形结构、网状结构;数据的存储结构—数据的逻辑结构在计算机存储器中的实现;元素n;1536;;数据类型—值的集合+一组操作;抽象数据类型—Abstract Data Type,ADT;ADT Circle { 数据对象:D={r,x,y| r,x,y 均为实数} 数据关系:R={ r,x,y | r是半径,x,y是圆心坐标 } 基本操作: CreateCircle(C,r,x,y) 操作结果:构造一个圆。 double Area(C) 初始条件:圆已存在。 操作结果:计算面积。 double Circumsance(C) 初始条件:圆已存在。 操作结果: 计算周长。 …… } ADT Circle;抽象数据类型复数的定义;ADT实现;抽象数据类型Complex的实现;算法(Algorithm)—解决某一特定问题的具体步骤的描述,是指令的有限序列;有穷性(Finiteness)——算法必须在执行有限步骤后结束 确定性(Definiteness)——算法每一步骤必须是确切定义的,不能产生二义性 可行性(Effectiveness)——算法是能行的 输入(Input) ——算法有零个或多个输入 输出 (Output) ——算法有一个或多个输出;void exam1() { int n=2; while(n%2==0) n=n+2; printf(“%d\n”,n); };衡量算法优劣的标准 正确性(Correctness) 可读性(Readability) 健壮性(Robustness) 效率(Efficiency);百钱买百鸡问题;方法2——用二重循环:k=100-i-j for(i=0; i=100; i++) for(j=0; j=100; j++) { k=100 –i –j ; if(k%3 = = 0 5*i+3*j+k/3 = =100) printf(“%d,%d,%d\n”, i,j,k); };方法3——用二重循环:钱100元,母鸡5元1只,所以i=20, 同样,j=33 for(i=0; i=20; i++) for(j=0; j=33; j++) { k=100 –i –j ; if(k%3 = = 0 5*i+3*j+k/3 = =100) printf(“%d,%d,%d\n”, i,j,k); };方法4——用一重循环:合并方程得到:14*i+8*j = 200 简化为: 7*i+4*j=100 所以有:i=14 又: j=25-7*i/4 ,故i必为4的倍数 for(i=0; i=14; i+=4) { j = (100 –7*i)/4;

文档评论(0)

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

分享好文档!

1亿VIP精品文档

相关文档