数据结构与算法B.ppt

  1. 1、本文档共61页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构与算法B

2005-2-24 2005 Spring Data Structure and Algorithms 2005 Spring Data Structure and Algorithms 数据结构与算法B 课程编号:CST-0-502 学时:  2(课堂教学)+2(教学实验)/周  学分:  3  任课教师:赵 海燕   软件研究所   zhhy@sei.pku.edu.cn 助教: 2-3人 教材 张乃孝主编,陈光、刘、韩玉真 编, 《算法与数据结构-C语言描述》,高等教育出版社,2002 参考书 张乃孝, 裘宗燕, 《数据结构--- C++与面向对象的途径》,高等教育出版社,2000年 张乃孝,《数据结构基础》,北京大学出版社 许卓群 等著,《数据结构》,高等教育出版社,1987年 张铭,刘晓丹 译,《数据结构与算法分析》( C++第二版),电子工业出版社,2002年 参考书 Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein, Introduction to Algorithms, MIT Press. 高等教育出版社影印。 Robert Sedgewick, Algorithm in C++, Addison-Wesley Press, 1990 考核内容 平时 40%, 其中 书面作业 10% 上机(+报告)25% 考勤+课堂表现 5% 考试 (期末) 60% 要求: 端正学习态度,严禁抄袭 提倡适度讨论,但必须独立完成作业 按时(限定期限内)提交作业 根据延期长短相应扣分 书面作业提交要求 写学号、名字 每次作业,都在作业本或电子稿的word文档中写上“我保证没有抄袭他人作业”的诚实保证。否则,计零分或根据抄袭情况倒扣分。 写算法分析、注释 算法中直接使用的函数、过程要说明函数功能、入口参数、出口参数 注意算法格式(层次嵌套、不同功能块之间留空) 上机题提交要求 上机作业打一个zip包后提交: 学号+姓名+作业次数, e.g. ,宁1.zip” 包中含有: 1.readme.txt文件,把你的程序运行环境、编译运行步骤、程序功能等等简单说明一下 2.附加了足够注释的源程序以及相关的项目和资源文件。 3.上机实习总结报告 上机安排 从第三周开始 时间:周二9、10节 地点:计算中心6(96人)号机房 帐号:hx29-10,密码hx2004 课程目标 学会怎样组织信息,以便支持高效的数据处理 掌握常用的数据结构及其应用 学会合理组织数据、有效地处理数据 基本掌握算法的设计与分析方法 提高程序设计能力 基本要求 从每个数据结构的逻辑结构、相应的一组基本运算实现三个方面去掌握线性表(包括栈、队列)、树、图和字典等常用的数据结构 掌握在顺序存储结构上实现的几种重要的排序算法 对算法的时间和空间复杂性有一定的分析能力 针对简单的应用问题,应能选择合适的数据结构及设计有效的算法来解决 学习数据结构的目的 求解问题 计算机科学就是“一种关于信息结构转换的科学” (Wegnor);(数据结构也称“信息结构”) 计算机科学是“算法的学问”,算法是精确定义的一系列规则,指出怎样从给定的输入信息经过有限步骤产生所求的输出信息(Knuth) 其实,数据结构与算法两者互为存在 (数据结构离不开施于其上的操作,同时算法也必然离不开作为其处理对象和结果的数据) 学习数据结构的目的 例子: 已知一组人的身高, 从中找出最高、最矮的,再找出身材最适中的(诸如101个人中,找出高度第51位的那个); Tower of Hanio: 给出3个柱子和 n个圆盘,起初所有盘子均放在最左边的柱子上,按大盘在下的顺序堆放;如何把所有盘子移到最右的柱子上?要求任何盘子都不能放到比它小的圆盘上面 第一章 绪论 内容 1.1 问题求解 1.2 数据结构 1.3 算法 1.4 算法分析 1.5 抽象数据类型 用计算机解决问题的步骤 问题分析:弄清所要解的问题是什么;并且把它用 一种语言(自然语言、说明语言或数学语言)清楚地描述出来 设计:建立程序系统的结构,重点是数据结构的设 计和算法的设计 程序编码(实现):采用适当的程序设计语言,编 写出可执行的程序 程序测试和维护:发现和排除在前几个阶段中产生 的错误,在使用中不断维护和完善 问题分析示例 把图中的结点进行分组,使得有结点相连的结点不在同一个组里 地图着色问题:如果把图中的一个结点理解为一个国家,结点之间的连线看作两国有共同边界,上述问题就变成著名的“着色问题”:即求出最少要几

文档评论(0)

yan698698 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档