新書推薦:

《
中国ESG卓越实践(2024) 探索创新ESG中国实践的路径和方法
》
售價:HK$
1010

《
大浪淘沙:从五代到十国 王宏杰五代史三部曲系列 一部生动而富有深度的乱世长卷 一幅反映人性的丰富画卷
》
售價:HK$
490

《
第八个侦探
》
售價:HK$
305

《
情结(精装)俄狄浦斯情结/该隐情结/自卑情结/救世主情结…… 在诉说与倾听中打开心灵的窗户,探索情结
》
售價:HK$
281

《
台湾百科全书历史篇
》
售價:HK$
857

《
建安 英雄的绝响(214—219)
》
售價:HK$
301

《
经纬度·何以中国·周秦之变:地理·人文·技术
》
售價:HK$
500

《
永劫馆超连续杀人事件:魔女决定与X赴死
》
售價:HK$
281
|
| 編輯推薦: |
|
本题集与清华大学出版社出版的《数据结构》(第2版?C语言版)一书配套,主要内容有习题与学习指导、实习题和部分习题的解答或提示三大部分和一个附录。u本书内容丰富、程序设计观点新颖,在内容的详尽程度上接近教学指导书,不仅可作为大专院校的配套教材,也是广大工程技术人员、备考者和自学者颇有帮助的辅助教材。新版题集新增350余道单项选择题(及答案)和数十道解答题和算法设计题,修订和增加了习题的提示、答案或算法参考代码。推荐基于AnyviewC的可视交互学习模式,探索教学过程的“提速增效”:支持200余道算法设计题的作业练习,通过可视交互调试和自动测评,实时直观反馈作业代码的实际功能和完成程度。
|
| 內容簡介: |
|
本书与清华大学出版社出版的《数据结构》(C语言版?第2版)一书相配套,主要内容有习题与学习指导、实习题和部分习题的解答或提示三大部分,以及附录A。其中习题与学习指导篇的内容和《数据结构》(C语言版?第2版)一书相对应,除第0章外,也分为12章,每章大致由基本内容、学习要点、可视交互学习内容与解析、基础知识题和算法设计题五部分组成。实习题分成7组,每组都有鲜明的主题,围绕一两种数据结构,安排4~9道题,每道题都有明确的练习目的和要求,在每组中都给出一个实习报告的范例或做题示例,以供读者参考。本书内容丰富、程序设计观点新颖,在内容的详尽程度上接近课程辅导材料,尤其是提供AnyviewC支持可视交互学习,不仅可作为大专院校计算机专业或信息类相关专业数据结构课程的配套教材,也是广大工程技术人员和自学读者颇有帮助的辅助教材。
|
| 關於作者: |
|
严蔚敏,清华大学计算机教授,写过多本《数据结构》方面的教材。其中数据结构第一版获第二届国家级优秀教材特等奖,获国家级科技进步奖,同时获电子部优秀教材特等奖)。
|
| 目錄:
|
目录
第一篇习题与学习指导
第0章本篇提要与作业规范1
第1章绪论(预备知识)6
第2章线性表30
第3章栈和队列49
第4章串60
第5章数组和广义表66
第6章树和二叉树80
第7章图97
第8章动态存储管理113
第9章查找118
第10章内部排序135
第11章外部排序147
第12章文件和索引结构150
第二篇实习题
实习0抽象数据类型159
实习1线性表及其应用162
实习2栈和队列及其应用178
实习3串及其应用192
实习4数组和广义表207
实习5树、图及其应用219
实习6存储管理、查找和排序232
第三篇部分习题的解答或提示
附录AAnyviewC使用说明312
|
| 內容試閱:
|
第2版前言
按照严老师的规划,本套数据结构第2版教材的组合仍然是《数据结构》+《数据结构题集》(简称教科书和题集)。在教科书的第2版前言已概述了新版教科书的主要修编、优化和新增的内容,题集也做了相应的配套工作。
首先是习题总量有了大幅增加,由400余题增至800余题。基础知识题分为两类题型: 新增单项选择题370余题,其余题目归类为解答题,有200余题。算法设计题也增至270余题。单项选择题给出了全部答案,也增加了对部分解答题和算法设计题的解答或提示的比例。完成习题作业是学习数据结构和算法的必要过程,读者应该至少有一部分习题能够独立求解,因此仍然未对习题提供全部答案和解析。
作为教科书的重要补充,在第一篇的第1章绪论(预备知识)中新增了“算法分析基本方法”一节。学习算法分析是一个反复迭代的渐进过程,在对每个算法进行学习讨论时才得以进行分析实践。新增这节内容的目的,一是集中归纳基本方法以对具体算法学习时提供支持;二是使读者对算法分析的内容有不同层次或深度的选择。
第1版由光盘配送的“数据结构算法演示系统”提供了80余个典型算法的动态交互式跟踪演示,在海内外发行受到广泛欢迎,是国际上最早且至今仍最全面的数据结构算法演示系统。由于版本较旧,只较好适配Windows XP等操作系统,在第2版教科书和题集中不再配送光盘(可在清华大学出版社官网下载相关资源)。
第2版题集的一个重要变化是和教科书同步引入AnyviewC,以支持可视交互学习,推荐的可视交互学习模式如下。
(1) 对教科书中尚不能或不易理解的算法,在AnyviewC上点选对应测试源文件,编译后进行可视交互跟踪运行,在数据结构区、栈区和堆区观察数据结构受算法作用而引起的形态变化,帮助对算法的消化理解。每个算法的代码可能不太长,但其基于数据结构的类型定义及基本操作的实现代码,以及测试用例和main函数的代码量通常数倍甚至超十倍于算法本身。在AnyviewC中点选即可编译运行代码,除了为读者节省了编写时间,也是很好的可阅读学习的参考代码,为任课教师备课提供了便利。
(2) 系统提供的只是基本的测试用例。读者可对算法代码进行修改扩展,增添测试用例,训练代码测试的设计和实现能力,这有助于理解算法的细节,也为完成模式(3)相应的算法设计题作业做准备。
(3) 读者编写了算法设计题的作业代码后,在AnyviewC中编辑、编译和进行可视交互调试,提交系统予以测评,可获得系统实时直观反馈的信息,帮助排错和完成编程作业。
每个专业的学习都要掌握描述、处理和解决所涉问题的专用语言,用于书面和口头交互(或称交际)。如工程类专业的图形语言,有建筑专业的平面图和立面图、机械专业的三维零部件图和装配图、电子类专业的电路图等。学习方式是聚焦识图和制图的师生交互,从教师的讲授、微课和教材获得知识,从教师对视图或制图作业的批改获得反馈信息。
计算机大类专业除了师生交互,还需要深度和不断的人机交互学习。相比汉语或英语等自然语言表达的作业,教师批改算法或程序作业要更耗时。而且,与其他专业的作业批改相比,计算机专业作业中算法或程序批改需要更严苛和精准,人的批改确实不如机器的运行验证更准确和更及时。当年给严老师当助教,一个小班的一次作业,我至少要花两整天才能完成全收全改。随着扩招、大班教学和普遍不设助教等的变化,现在各校已很难做到对学生作业全收全改了。在难以做到足够的师生交互的情况下,人机交互也因程序“黑箱”运行的原因做不到信息对称。对作业代码BUG的发现和排除耗时费力,要么不了了之,要么依赖参考答案。真正独立完成作业的比率较低。
在学习具有代表性的高水平“精品课程”解决学习编程难的经验时,常看到这样的表述:
“不少学生把程序写出来了,却花了很长时间调不出来,成了学习的拦路虎。”解决的办法是,“及时给予指导,如安排在机房小班上课,边讲边上机实验”。
“‘数据结构’课程作业偏多。”“需增加助教。”解决的办法是,“多与学生交流,如可以在课程网站上建立留言板,线上答疑,鼓励学生与教师和助教多交流”。
近年配书微课大量出现,作为课堂教学的补充对学生学习起到一定的帮助。但是,这仍是教师向学生单向传授,代替不了师生交互,难以答疑解惑。
希望AnyviewC能在一定程度上支持进行可视化人机交互学习的尝试,实时直观反馈算法代码的运行和调试信息,促进数据结构课程教学、自学和作业的“提速增效”。
在第一篇的各章都设有“可视交互学习内容与解析”一节,给出了该章主要数据结构在AnyviewC上的可视形态和算法运行的效果截图示例及解析。
本书附录A是“AnyviewC使用说明”。我的学生曹勇锋参与了AnyviewC的开发和维护的大量工作并做出了重要贡献,在此向他表示感谢!
由于本人的能力有限,新版题集以及AnyviewC难免存在不足或错误,诚恳希望各位专家、老师、同行和读者给予批评指正。
吴伟民 广东工业大学计算机学院
2025年5月28日第1版前言
数据结构是计算机科学的算法理论基础和软件设计的技术基础,主要研究信息的逻辑结构及其基本操作在计算机中的表示和实现。数据结构不仅是计算机专业的核心课程,而且已成为其他理工科专业的热门选修课。课程的教学要求之一是训练学生设计复杂程序的技能和培养良好程序设计的习惯,其重要程度绝不亚于知识传授。因此,在数据结构的整个教学过程中,完成习题作业和上机实习是两个至关重要的环节。为了帮助读者学好这门课程,我们编写了这本具有学习指导功能的题集。
目前,由严蔚敏和吴伟民编著出版的数据结构系列教材有C和Pascal两种描述语言的版本。这本题集是与《数据结构》(C语言版)(清华大学出版社)配套编写的,习题和实习题都是按相同的内容顺序编排,很多习题涉及教科书上的内容或算法,因此读者手边最好能有这本教科书,以便随时查阅。
习题的作用在于帮助学生深入理解教材内容,巩固基本概念,达到培养良好程序设计能力和习惯的目的。从认知的程度划分,数据结构的习题通常可分为3类: 基础知识题、算法设计题和综合实习题。基础知识题主要是检查对概念知识的记忆和理解,一般可作为学生自测题。算法设计题的目的是练习对原理方法的简单应用,多数要求在某种数据存储结构上实现某一操作,是数据结构的基础训练,构成了课外作业的主体。综合实习题则训练知识的综合应用和软件开发能力,主要是针对具体应用问题,选择、设计和实现抽象数据类型(ADT)的可重用模块,并以此为基础开发满足问题要求的小型应用软件,应将其看作软件工程的综合性基础训练的重要一环,并给予足够的重视。
本书第一篇含全部400多道习题,组织成12章,分别对应教科书中各章内容,并在每章之前给出该章的基本内容和学习要点。这些习题是作者在多年教学过程中所积累资料的基础上,参考大量国外教材之后精心设计而成的。书中对特别推荐的习题做了标记,并对每道习题的难易程度按五级划分法给出了难度系数,仅供参考。
第二篇分别以抽象数据类型、线性表、栈和队列、串、数组和广义表、树和图,以及存储管理、查找和排序为核心,设置了7组上机实习题,每组有3~9道题目供读者自由选择。希望这些实习题能对习题起到良好的补充作用,使读者受到涉及“从问题到程序”的应用软件设计的完整过程的综合训练,培养合作能力,成为将来进行软件开发和研究工作的“实践演习”。
第三篇安排了部分习题的解答或提示。对于多数有唯一确定解的题给出了答案,而对算法题则有选择地做了示范解答或提示。但是,算法的解答都不是唯一的,我们的解答也不一定是臻于完美的。希望我们的答案和提示能起到抛砖引玉的作用,愿读者开发出更多更好的解法。热忱欢迎读者将这些好的算法寄给我们,在此预先表示感谢。然而,我们仍想特别强调的是,本题集主要是为配合高等院校的教学而编写的,因此,为了培养学生独立思考和解决问题的能力,我们诚恳希望不再出版或编印本题集的更详尽的解答,以免干扰学校正常的教学和本书的训练意图,敬请谅解。
数据结构是实践性很强的课程,光是“听”和“读”是绝对不够的。在努力提高课堂教学的同时,必须大力加强对作业实践环节的要求和管理。国内外先进院校一般都要求修读数据结构的学生每周应不少于4个作业机时,而且有一套严格的作业、实习规范和成绩评定标准,形成行之有效的教学质量保证体系。本题集强调规范化在算法设计基本训练中的重要地位。在习题篇中给出了算法书写规范,在实习题篇中给出了实习步骤和实习报告的规范。教学经验表明,严格实施这些貌似烦琐的规范,对于学生基本程序设计素养的培养和软件工作者工作作风的训练,将能起到显著的促进作用。
数据结构及其算法的教学难点在于它们的抽象性和动态性。虽然在书本教材和课堂授课(板书或投影胶片)中采用图示可以在一定程度上化抽象为直观,但很难有效展现数据结构的瞬间动态特性和算法的作用过程。“数据结构的算法动态模拟辅助教学软件DSDEMO”是为学习并掌握数据结构中各类典型算法而开发的一个辅助教学软件,可对教科书中80多个典型算法进行动态交互式跟踪演示,在算法执行过程中实现数据结构和算法的动态同步可视化,使读者获得单从教材文字说明中无法获得的直观知识。软件既可用于课堂讲解演示,又能供个人课外反复观察、体会和理解,对提高教学质量和效率有显著效果。为便于读者参考,在第一篇的每章列举了与该章相关的算法清单,并在附录中提供了该软件完整的使用说明。
1987年出版的(《数据结构题集》,严蔚敏、米宁、吴伟民编)曾在计算机和其他理工专业的“数据结构”教学中得到广泛使用,反映良好。这本C语言版题集在力求反映程序设计和软件工程新思想方面做了一些探索,如算法演示软件、模块化抽象和信息隐蔽、软件工程方法训练等。对于书中存在的谬误和有争议之处,作者诚恳地欢迎广大读者提出批评意见和建议,在此谨向热情的读者致以衷心的感谢。
米宁没有参加本版题集的编写工作。
严蔚敏
吴伟民
米宁清华大学计算机技术与科学系
广东工业大学计算机学院
|
|