新書推薦:
《
万有引力书系 纳粹亿万富翁 德国财富家族的黑暗历史
》
售價:NT$
500.0
《
中国常见植物野外识别手册:青海册
》
售價:NT$
347.0
《
三星堆对话古遗址(从三星堆出发,横跨黄河流域,长江流域,对话11处古遗址,探源多元一体的中华文明)
》
售價:NT$
398.0
《
迷人的化学(迷人的科学丛书)
》
售價:NT$
653.0
《
宋代冠服图志(详尽展示宋代各类冠服 精美插图 考据严谨 细节丰富)
》
售價:NT$
398.0
《
形似神异:什么是中日传统政治文化的结构性差异
》
售價:NT$
254.0
《
养育不好惹的小孩
》
售價:NT$
352.0
《
加加美高浩的手部绘画技法 II
》
售價:NT$
407.0
|
編輯推薦: |
遵循《全国硕士研究生入学考试计算机专业基础综合考试大纲》和《高等学校计算机专业公共核心知识体系与课程》的要求,全面覆盖数据结构课程的基本知识点。? 对于每一个基本知识点,按照知识点复习―选择题―判断题―简答题―算法题的顺序,归纳了该知识点的要点和容易忽略的细节。? 作者从1978年学习数据结构,1984年进入数据结构教学岗位,1996年开始担任数据结构考研、考博的命题教师,近40年来积累了丰富的教学经验,并融入本书中。? 总习题量增加到2840题,囊括了历年考研和入职考试的精华,从不同角度复习各知识点基本概念。每题的出题和解析都经过仔细考虑,没有雷同的情况。? 算法题增加到700多道。所有算法都采用C语言描述,并在VC6.0的环境下调试通过。为力求简单可读,引入了引用参数的概念,对于大多数读者没有语言的障碍。
|
內容簡介: |
本书是清华大学出版社出版的《数据结构C语言版》第2版的配套教材,对“数据结构”课程常用习题进行了解析,对许多不易通过自学理解的概念和知识做了深入讲解,并针对“数据结构”课程的学习给出了指导性建议。本书覆盖了数据结构与算法的主要知识点,共分为8章,包括数据结构绪论,线性表,栈和队列,多维数组、字符串与广义表,树与二叉树,图,查找以及排序。每章划分为多个知识点,首先给出知识点提要,归纳有关要点和容易忽略的细节;然后给出选择题、判断题、简答题和算法题4种题型的典型习题。全书的题量为2840题。 本书既可以作为大学计算机科学与技术、软件工程等专业的本科生学习“数据结构”课程的辅助教材,也可供考研人员自学参考。
|
關於作者: |
殷人昆 清华大学计算机系教授,1985年赴日本国东京理科大学做访问学者,研究方向为软件工程过程的质量管理和软件产品的质量评价。主要教学工作为计算机系大学本科数据结构、软件工程和研究生软件工程设计与技术、软件项目管理课程负责人,主持教育部-微软精品课程数据结构的建设。曾与人合作或单独编写和出版教材20余部,其中,《数据结构》教材被评为教育部普通高等教育十一五国家级规划教材,并于2005年获北京市精品教材。曾在核心刊物和专业会议发表论文多篇,并参加或主持多项科研项目。
|
目錄:
|
数据结构精讲与习题详解C语言版第2版目录目录
第1章数据结构绪论1
1.1数据结构的概念及分类1
1.1.1知识点提要1
1.1.2选择题3
1.1.3判断题4
1.1.4简答题5
1.1.5算法题8
1.2算法设计与算法分析10
1.2.1知识点提要10
1.2.2选择题13
1.2.3判断题17
1.2.4简答题18
1.2.5算法题25
第2章线性表30
2.1线性表的概念30
2.1.1知识点提要30
2.1.2选择题31
2.1.3判断题32
2.1.4简答题32
2.1.5算法题33
2.2顺序表34
2.2.1知识点提要34
2.2.2选择题36
2.2.3判断题37
2.2.4简答题38
2.2.5算法题39
2.3线性表的链接存储表示49
2.3.1知识点提要49
2.3.2选择题51
2.3.3判断题55
2.3.4简答题56
2.3.5算法题57
2.4两种存储表示的比较87
2.4.1知识点提要87
2.4.2选择题88
2.4.3判断题89
2.4.4简答题90
2.4.5算法题91
2.5线性表的应用94
2.5.1知识点提要94
2.5.2选择题97
2.5.3判断题98
2.5.4简答题98
2.5.5算法题100
第3章栈和队列119
3.1栈119
3.1.1知识点提要119
3.1.2选择题122
3.1.3判断题126
3.1.4简答题126
3.1.5算法题131
3.2队列138
3.2.1知识点提要138
3.2.2选择题142
3.2.3判断题145
3.2.4简答题145
3.2.5算法题150
3.3栈与队列的应用160
3.3.1知识点提要160
3.3.2选择题161
3.3.3判断题162
3.3.4简答题163
3.3.5算法题168
3.4栈与递归188
3.4.1知识点提要188
3.4.2选择题190
3.4.3判断题192
3.4.4简答题193
3.4.5算法题196
第4章多维数组、字符串与广义表211
4.1多维数组211
4.1.1知识点提要211
4.1.2选择题213
4.1.3判断题215
4.1.4简答题215
4.1.5算法题218
4.2特殊矩阵与稀疏矩阵242
4.2.1知识点提要242
4.2.2选择题244
4.2.3判断题246
4.2.4简答题247
4.2.5算法题257
4.3字符串272
4.3.1知识点提要272
4.3.2选择题275
4.3.3判断题277
4.3.4简答题278
4.3.5算法题282
4.4广义表298
4.4.1知识点提要298
4.4.2选择题299
4.4.2判断题300
4.4.3简答题301
4.4.4算法题305
第5章树与二叉树317
5.1树的基本概念317
5.1.1知识点提要317
5.1.2选择题319
5.1.3判断题320
5.1.4简答题321
5.1.5算法题322
5.2二叉树及其存储表示323
5.2.1知识点提要323
5.2.2选择题326
5.2.3判断题329
5.2.4简答题330
5.2.5算法题334
5.3二叉树的遍历339
5.3.1知识点提要339
5.3.2选择题342
5.3.3判断题346
5.3.4简答题347
5.3.5算法题357
5.4线索二叉树396
5.4.1知识点提要396
5.4.2选择题397
5.4.3判断题400
5.4.4简答题400
5.4.5算法题402
5.5树与森林的存储与遍历412
5.5.1知识点提要412
5.5.2选择题415
5.5.3判断题417
5.5.4简答题418
5.5.5算法题423
5.6Huffman树439
5.6.1知识点提要439
5.6.2选择题442
5.6.3判断题443
5.6.4简答题444
5.6.5算法题449
5.7堆453
5.7.1知识点提要453
5.7.2选择题456
5.7.3判断题457
5.7.4简答题457
5.7.5算法题460
5.8并查集466
5.8.1知识点提要466
5.8.2选择题468
5.8.3判断题469
5.8.4简答题469
5.8.5算法题471
第6章图473
6.1图的基本概念473
6.1.1知识点提要473
6.1.2选择题474
6.1.3判断题476
6.1.4简答题477
6.1.5算法题481
6.2图的存储表示482
6.2.1知识点提要482
6.2.2选择题487
6.2.3判断题489
6.2.4简答题490
6.2.5算法题496
6.3图的遍历517
6.3.1知识点提要517
6.3.2选择题519
6.3.3判断题521
6.3.4简答题522
6.3.5算法题528
6.4最小生成树556
6.4.1知识点提要556
6.4.2选择题557
6.4.3判断题559
6.4.4简答题559
6.4.5算法题568
6.5最短路径577
6.5.1知识点提要577
6.5.2选择题579
6.5.3判断题580
6.5.4简答题580
6.5.5算法题585
6.6拓扑排序和关键路径597
6.6.1知识点提要597
6.6.2选择题600
6.6.3判断题602
6.6.4简答题603
6.6.5算法题609
第7章查找617
7.1查找的概念与简单查找方法617
7.1.1知识点提要617
7.1.2选择题622
7.1.3判断题626
7.1.4简答题626
7.1.5算法题637
7.2二叉查找树647
7.2.1知识点提要647
7.2.2选择题650
7.2.3判断题652
7.2.4简答题653
7.2.5算法题658
7.3AVL树672
7.3.1知识点提要672
7.3.2选择题676
7.3.3判断题678
7.3.4简答题679
7.3.5算法题684
7.4B树与B 树691
7.4.1知识点提要691
7.4.2选择题696
7.2.3判断题699
7.4.4简答题699
7.4.5算法题709
7.5散列法715
7.5.1知识点提要715
7.5.2选择题720
7.5.3判断题724
7.5.4简答题725
7.5.5算法题734
第8章排序746
8.1排序的概念746
8.1.1知识点提要746
8.1.2选择题748
8.1.3判断题749
8.1.4简答题749
8.1.5算法题751
8.2插入排序752
8.2.1知识点提要752
8.2.2选择题754
8.2.3判断题756
8.2.4简答题756
8.2.5算法题761
8.3交换排序767
8.3.1知识点提要767
8.3.2选择题769
8.3.3判断题772
8.3.4简答题772
8.3.5算法题779
8.4选择排序794
8.4.1知识点提要794
8.4.2选择题796
8.4.3判断题798
8.4.4简答题798
8.4.5算法题804
8.5归并排序810
8.5.1知识点提要810
8.5.2选择题811
8.5.3判断题812
8.5.4简答题812
8.5.5算法题815
8.6桶排序823
8.6.1知识点提要823
8.6.2选择题827
8.6.3判断题827
8.6.4简答题828
8.6.5算法题829
8.7内排序方法的比较834
8.7.1知识点提要834
8.7.2选择题836
8.7.3判断题838
8.7.4简答题839
8.7.5算法题842
8.8外排序847
8.8.1知识点提要847
8.8.2选择题854
8.8.3判断题856
8.8.4简答题857
8.8.5算法题874
参考文献887
|
內容試閱:
|
数据结构精讲与习题详解C语言版第2版第2版前言第2版前言
本书是《数据结构精讲与习题详解》的第2版,与前一版相比,它做了如下改变:
1 对第1版参考答案中存在的代码错误和低效之处进行了全面修改。
2 局部改变了第1版的章节编排。将树与二叉树与树的应用合并为一章,将内排序与外排序合并为一章,将二叉查找排序树与AVL树调整到第7章查找中。
3 题量从1250 题增加到2840题,同时将疑难点辨析改为判断题,部分调整到简答题中。这是考虑到判断题更能够激发读者的深度思考。
4 知识点提要部分没有如同主教材那样系统、详细地讨论有关知识点的细节,而是从复习的角度归纳了知识点的要点和容易忽略的细节。因此,如果要系统地学习数据结构的主要概念,还是应当以主教材为主,本书为辅,配合学习。
5 由于篇幅原因,选择题和判断题部分仅给出答案,删去了解析。因此,这两部分对于读者来说更需要研读而不应走马观花,不但要知其然,而且要知其所以然。对于选择题,首先要了解相关知识点的主要概念,如果有把握,可直接确定正确的选项;如果没有把握,可采用排除法,利用自己掌握的知识,排除那些不合理的选项。对于判断题,直接与主教材的内容有关,如果没有把握,最好先去温习主教材,但这要求选好主教材。
6 本书的简答题部分相当精彩,如果仔细研读之后必有大的收获。其内容包括简单的问答题、画图题、计算题、证明题。这些题直接与相关的数据结构和算法有关,通过这些题目,可加深对各种数据结构特点的理解,搞清容易忽略或容易混淆的概念,且对某些较复杂的算法,可以通过实例理顺其中的细节。
7 本书的算法题有700多题,一部分来自国内外的经典数据结构教材和题典,一部分来自各大学、各大公司的入学考试和入职面试,涵盖了各种数据结构和算法的应用,而且都已用Visual C 6.0调试通过。研读这些习题,对于提高读者分析问题和解决问题的能力很有帮助。希望读者每做完一道算法题都能够进行小结,把这类题的解题思路和辅助数据结构的应用牢记于心。
8 细节决定成败。对数据结构课程所讲的知识是否掌握得好,关键在于对细节是否把握得好。对课程的每一个知识点,通过练习从不同侧面理解其精髓,使得以后不论从什么角度,用什么表述方式提出问题,都能想到使用什么方法,利用什么数据结构来解决,这样才能够为以后的科研、开发打下坚实的基础。
本书实际上是一个题库,不同程度的读者可选择力所能及的题目来做。有些简答题和算法题比较难,不是考研或参加入职考试的读者可以不看它们。本书不设难度标识,无论多难的题目,只要看过参考答案,都能了解其解题思路。为此,本书在算法描述上尽可能做到简单、清晰、易读。
本书覆盖了数据结构与算法的主要知识点,但对于某些没有普遍列入数据结构教材的知识点,如红黑树、数字查找树、伸展树、跳表、左斜堆、B树、动态散列、k\|d树等,都没有涉及。这样取舍对于多数院校已经足够了。本书既可以作为大学计算机科学与技术或软件工程专业学习数据结构课程的辅助教材,也可以作为考研复习的辅导教材。
本书得到清华大学2015年度本科精品教材项目资助。在成书过程中得到清华大学计算机系和清华大学出版社相关老师的鼓励和支持,也得到家人的理解和照顾,本人在此一并表示感谢。限于本人的学识和能力,书中不可避免地还会有一些错误和欠缺,诚请读者多提宝贵意见。我的联系地址是yinrk@tsinghua.edu.cn或yinrk@sohu.com。
作者
2017年6月于清华园荷清苑数据结构精讲与习题详解C语言版第2版第1版前言第1版前言
数据结构是计算机技术与工程、软件工程及信息管理专业的一门必修的核心课程。数据结构课程的任务是讨论在应用问题求解时数据的逻辑组织、在计算机中的存储实现以及相关操作的算法。数据结构课程的目的是使学生掌握在实际问题解决过程中如何组织数据、如何存储数据和如何处理数据的基本方法,为进一步学习后续课程以及为以后从事软件开发和应用打下坚实的基础。
本书是清华大学出版社出版的《数据结构C语言描述》的配套教材。它不但汇集了《数据结构》常用习题的解析,还对教学中反映出来的许多不易通过自学理解的概念和知识做了讲解,并对学习数据结构课程提出了一些指导性建议和考试的样例。特别是紧扣了全国硕士研究生计算机专业联考的考试大纲,对数据结构的主要知识点做了归纳,对358处疑难点做了点拨,按照考试大纲规定的题型,对843道习题做了解答和分析,最后给出了20092012年的历年计算机联考的真题和答案。实际上总题量超过1250题。
在编写本教材的过程中,作者对网上流传的1800题、严蔚敏版习题的解答做了研究,还参考了国内外众多习题集或课程辅导,去除过时的、重复的、不适当的习题或试题,从中梳理了对复习和准备考试的学生有一定参考价值的习题。希望这种努力能够帮助有志于学好这门课程的同学掌握课程的基本知识和解题的基本技能,并基于此做深度的研究。
本书共分10章,覆盖了教育部高等学校计算机科学与技术专业教学指导委员会公布的《高等学校计算机科学与技术专业公共核心知识体系与课程》和教育部考试中心公布的《计算机科学与技术学科联考考研大纲》中有关数据结构的几乎所有知识点。第1章是计算机概论,主要涉及算法设计和分析的习题;第2章是线性表,注重链表上的算法设计与实现方面的习题;第3章是栈和队列,重点在栈和队列的应用;第4章是数组、串和广义表,重点在串;第5章讨论树、森林和二叉树,重点在二叉树的遍历和树与二叉树的转换及其相关的习题;为了深入学习树与二叉树的应用,第6章讨论了二叉查找树、AVL树、Huffman树、堆和并查集,之所以把堆结构归入这一章,是因为在下一章要用到它;第7章是图,重点在图的遍历、连通性和最小生成树、最短路径、拓扑排序等,在这一章还引用了分治法、减治法、回溯法、贪心法、动态规划、分枝限界法等常用算法设计策略。第8章是查找,重点在折半查找、散列法;第9章是内排序,第10章是外排序,对各种排序算法的方法和特点有很多练习。
每个知识点分4个层次展开。第一是知识点复习,由于篇幅有限,这部分内容以梳理主教材的知识点为主;第二是疑难点辨析,是对知识点中容易被学生忽略的细节进行点拨;第三是选择题解析,对知识点从正面或反面进行练习,以加深对概念的理解;第四是应用题选讲,对知识点的综合应用进行多种手段的训练,包括作图或计算、算法设计与分析等。为了使学习者不至于一下陷入题海之中,对题号上加★的可以先跳过它,待以后备考时再来看它。本书力求对各种可能的问题都有一个解决的思路和预案,从而达到一个熟能生巧、处变不惊的境界。
本书是基于多年来的教学实践整理而成的,希望能对广大读者的学习起到促进作用。但由于时间仓促和作者的水平所限,错误和疏漏在所难免,敬请读者提出宝贵意见。
作者的邮件地址是yinrk@tsinghua.edu.cn或yinrk@sohu.com,衷心希望与各位读者交流。
作者
2012年4月于清华园荷清苑
|
|