- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
编写“数据结构”教材的几点体会
张乃孝
北京大学100871,华东师大200062
摘要:本文回顾了二十多年来从事“数据结构”相关教材的编写过程;对于笔者编写的
相关教材进行了客观的分析;然后对于教材编写过程中遇到的若干原则问题,发表了个
人的看法。
关键词:数据结构、算法、抽象数据类型、程序设计语言
数据结构的概念最早是由C.A.R.Hoare在1966年提出。在他的经典论文《数据结构笔记》…
中,首次系统地论述了一组数据结构的构造、操作和表示等问题。目前广泛应用的数据结构,最早应
归功于D.E.Knuth
1973年的名著《计算机程序设计技巧》第一卷心1中关于“信息结构”的系统论述。
由于算法与数据结构是程序设计中相辅相成、不可分割的两个方面,1976年N.Wirth用“算法+数据
结构=程序”这个公式表达了算法与数据结构的联系和它们在程序中的地位¨1。
笔者承担数据结构的教学工作是从1978开始。为了给刚刚成立的北京大学计算机系编写数据
结构的教材,我们查阅了许多国外相关资料,起草了一个“数据结构教学大纲”。这个大纲在教育部
主办的(南京大学召开的)第一次本科计算机教学计划和教学大纲会议上报告,得到与会代表的充分
肯定。1979年,笔者与杨冬青老师一起,编写出北大第一本“数据结构”讲义。这本讲义经过多次修
改和扩充,1987年由许卓群老师牵头在高等教育出版社出版¨2。。笔者前后花费了8年时间。
这本教材是综合了[4]和[6]两本书的优点编写而成的,内容比较丰富。需要指出的是,在19世
纪70年代,大多数优秀的数据结构教材对于数据结构的概念都采用多元组的形式定义。例如:H.A.
的集合;O是结构成员可执行的运算的集合;G是一个构造结构成员名字的文法,L(G)是文法G可以
H1提出的三元组定义等。经过认真的分析和比较,为了准确地讲解数据结构的概念,便于学生理解,
我们决定放弃形式化的元组定义方法,采用数据的逻辑结构、存储结构和运算“三位一体”的非形式
化定义。并且根据这个定义,把各种数据结构按逻辑结构、存储结构和运算三要素逐层展开,使整个
教材结构比较清晰。书中所有算法采用我们自己定义的伪代码表示。
但是,对于这本教材,笔者认为也存在许多的不足。例如,为了追求在整体结构上比较清晰,在强
调“三位一体”的知识体系方面有些八股味,使得部分知识的布局不够合理,对教学的重点突出不够;
更加严重的是,为了“照顾”我们提出的这个体系,在个别地方出现“逻辑结构”与“存储结构”互不协
调的现象。
·联系作者,E-mail:znx@pku.edu.cn
大学计算机课程报告论坛论文集2006
第一本《数据结构》刚刚完工,笔者又承担了“北京市自学考试委员会”《数据结构考试大纲》的
主编工作以及“全国自学考试委员会”《数据结构考试大纲》的主审工作;并主编了北京市自学考试课
程教材《数据结构基础》¨31。考虑到自学考试的特点,这本教材采用Pascal语言描述,同时压缩了内
容、突出了重点。为了克服前一教材的缺点,在体系结构中吸取了T.A.Aho【J¨等人的工作,以问题求
解的例子启动全书,以算法的分析与设计为全书最后的总结,是国内最早将抽象数据类型引入数据结
构教学的教材。遗憾的是因为种种原因,这本教材没有能够广泛使用。
1986年“全国数据结构研讨会”在古城西安召开,笔者应邀在会上做了大会报告。报告中对于前
面两本教材的编写工作进行总结。该报告的主要内容,后来经过整理发表在《计算机研究与发展》¨制
上。在编写数据结构教材的同时,笔者把抽象数据类型的思想与承担的国家项目结合。提出了一个
知识结构和逻辑推理的抽象模型,并且设计和实现了一种称为“三叉树”的数据结构,支持了这个抽
象模型的具体实现¨’’”1。
20世纪90年代,面向对象的程序设计方法与程序设计语言得到广泛使用,出于把数据结构与面
向对象思想结合起来组织教学的探索,笔者与裘宗燕老师合作编写了“九五国家重点教材”《数据结
构——c++与面向对象的途径》Ⅲ1。从研究的兴趣出发,我们仔细分析了当时学术界评价较好的T.
A.Budd编写的教材¨。,提出一个更加系统的根据抽象数据类型的分层讲解数据结构的分层模型,用
它组织了该书的结构,使得数据结构与面向对象的思想紧密结合。笔者使用这本教材,在北大成功地
主讲了4年
您可能关注的文档
- 积极情绪对中学生物学习效果影响的研讨.pdf
- 编程精简ZBLU520自动测桩仪原始数据研究.pdf
- 编程实现绘图程序暂停研究.pdf
- 笔记、史料笔记和历史笔记的界说与价值研究.pdf
- 编程实现控制电路的仿真研究.pdf
- 编程实现通用示波器自动重复采集研究.pdf
- 笔记本电脑的火灾危险性及对策研究.pdf
- 积极实施+分步到位不断推进国土资源信息化建设张家港市国土资源局的基本做法与初步成效研究.pdf
- 积极融入形成合力国学教育融入初中教学的实践研讨.pdf
- 编程语言规范检查模型的设计与实现——C语言规范研究.pdf
- 2023年陕西省商洛市柞水县两河乡招聘社区工作者真题参考答案详解.docx
- 2023年陕西省延安市宝塔区青化砭镇招聘社区工作者真题参考答案详解.docx
- 2023年陕西省汉中市西乡县罗镇乡招聘社区工作者真题及参考答案详解.docx
- 2023年陕西省延安市洛川县永乡招聘社区工作者真题及答案详解1套.docx
- 2023年陕西省商洛市商州区三岔河乡招聘社区工作者真题及参考答案详解一套.docx
- 2023年陕西省宝鸡市陇县八渡镇招聘社区工作者真题及参考答案详解一套.docx
- 2023年陕西省延安市洛川县石泉乡招聘社区工作者真题及参考答案详解一套.docx
- 2023年陕西省商洛市商州区沙河子镇招聘社区工作者真题附答案详解.docx
- 2023年陕西省咸阳市礼泉县赵镇招聘社区工作者真题及参考答案详解1套.docx
- 2023年陕西省商洛市丹凤县留仙坪乡招聘社区工作者真题及参考答案详解一套.docx
文档评论(0)