《新编数据结构算法考研指导 》的说明

        自2008年全国硕士研究生入学考试起,计算机专业综合课被列为全国统考课程,满分150分,其中“数据结构”课程占45分。在这45分当中,算法设计的题目占25分之多,这也是大多数考研同学最没有把握拿到手的。以往的“数据结构”教程及辅导丛书,多以线性表、栈和队列、串、数组和广义表、树、图、查找、排序等为模板给出各章的算法描述,由于算法较多、难度较大,学生学习起来多会感觉烦琐、凌乱和迷茫。本书不是以往“数据结构”算法的简单赘述,而是以算法的功能为基础,对算法进行纵向分类,挖掘算法之间内在的联系,构建数据结构算法的统一体系,使考研同学顺利掌握算法设计要领。
        本书是作者在拜读了严蔚敏、李春葆、徐孝凯等先生的相关著作的基础上,结合自己多年教学体会写成的。
        作者认为:数据结构虽然有4种关系,但实质上数据的关系只是前驱、后继的顺序关系,即数据结构所研究的关系是单纯的,因此4种关系之间必然存在某种相同性。而且数据结构的物理结构,有人认为也是4类,但用得比较多的是2类:顺序结构和链式结构。而且,几乎所有数据结构都能用链式结构描述。这就更使得4类数据结构的表示方法具有很大的一致性。
        所有的线性关系,都可以理解成由第1个元素和剩余的元素(除去第1个元素)组成,而剩余的元素又是一个相对较小的线性关系。对于顺序结构一般认为由最后1个元素与前n-1个元素组成。
        对于广义表,其本身就是线性表的拓展,只是其元素既可是单元素,也可是广义表。既可把它理解成n个广义表,也可理解成由第1个元素和剩余元素(除去第1个元素)的广义表组成。
        树是由根及其子树组成。
        图,可以理解成由某一顶点(即起始点,任意顶点都可作为起始点)及所有后继结点为起始点形成的子图所组成。
        数据结构可概括成一句话:它们都是由某一个元素和所有后继构成的相同的数据结构所组成。这说明,数据结构的定义基本上是递归的,运用递归实现算法简单明了。因此,数据结构中用递归实现的算法占据很大篇幅,我们就将“递归算法”安排在了本书的第1章。当然递归所能解决的问题不止数据结构中的各个算法。在第1章中,读者将会学习到递归算法的组成部分、一般设计模型及递归算法的分类。
        递归算法解题过程中涉及的堆栈操作是很大的开销,系统为每层的返回点、局部量等开辟了栈来存储,每次都需要保存当前函数的所有信息,算法运行效率较低。在递归调用的过程当中,递归次数过多容易造成栈溢出等问题。为了避免这样的情况,人们想到了用算法实现递归到非递归的转换。从递归到非递归的转换过程中可能会涉及有关栈、队列等数据结构的综合应用,这也是其吸引出题老师的一个地方,因此曾经是不少学校研究生入学考试的考点。第2章读者就会学习到如何将递归算法转换为非递归算法,书中根据递归算法的分类给出了若干个转换模型,简单实用。同样,数据结构中的算法也可直接用非递归的方法给予解决。
        回溯是一类特殊的递归问题,但它又有别于一般的递归算法,初学者往往搞不清回溯和递归到底有什么区别,在实际问题中该用递归呢、还是该用回溯。本书第3章,读者将会学习到回溯法的应用场合、回溯法的一般模型以及回溯和递归的主要区别。
        本书第4章是技巧型算法。数据结构算法试题部分一般包括:数据结构的基本操作以及对基本操作的应用(变异、扩充、组合)。前者其他数据结构的书籍都做过详细介绍,本书不做过多讨论。后者笔者称为技巧。读者将会在这章学习到在什么样的情境下会用到哪个数据结构的哪些基本操作,以及如何应用。第4章的内容是考试的重点。
还有一类算法设计技术,适用范围仅限于特殊的问题,而算法本身理解起来很费时,且算法的可推广性一般,我们认为属于小概率事件。这些问题都被收录在第5章,特殊问题的算法。
        本书采用实例教学法,在讲清基本知识点的基础上,尽量使用实例加以说明,因此书中包含了大量实用例子,绝大部分例子都给出了详细的分析过程及程序代码,代码短小精悍,容易理解。因此学习本书将使读者对数据结构的理解产生质的飞跃。
        本书由朱东生组织编写,朱东生、赵建利、孙召伟编写了本书主要章节。许研、胡春叶、张艳格、董雪梅、韩红根也参加了本书编写、整理等工作。
        由于水平所限,加之时间仓促,本书中仍难免出现错误和缺点,恳切希望得到广大读者特别是讲授此课程的老师们的批评和指正。


                                                                                                          作 者

                                                                                                      2010年6月

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值