热门关键字:  听力密码  单词密码  新概念美语  巧用听写练听力  零起点

数据结构(C++版)

中国水利水电出版社
    【作 者】李根强 主编 【I S B N 】978-7-5084-2567-2 【责任编辑】吴萍 【适用读者群】本科 【出版时间】2008-01-01 【开 本】16开本 【装帧信息】平装(光膜) 【版 次】第1版 【页 数】256 【千字数】 【印 张】 【定 价】23 【丛 书】21世纪高等院校规划教材 【备注信息】
图书详情

    本书从软件开发设计的角度出发,按照面向对象的程序设计思想,详细介绍了线性表、栈和队列、串、多维数组和广义表、树、图等不同的数据结构,以及这些数据结构在计算机中的存储表示和不同存储表示上的算法实现。每个算法都用C++语言进行描述,并全部上机在VC++6.0环境下运行通过;最后两章,介绍了计算机中常用的两种运算:查找和排序,详细介绍了不同的查找、排序运算的实现及各种算法的效率分析。

    本书配套有《数据结构(C++版)习题解答及实习指导》,既方便教学,又便于自学。

    本书可以作为计算机类或信息类相关专业的本科或专科教材,也可以作为自学数据结构人员的参考资料,还可供从事计算机工程与应用工作的科技人员参考。

    “数据结构”是计算机专业及相关专业的一门重要专业基础课,也是一门必修的核心课程,并且已成为其他理工专业的热门选修课。

    在计算机科学的各领域中,都要使用到各种不同的数据结构,如编译系统中要使用栈、散列表、语法树等;操作系统中要使用队列、存储管理表、目录树等;数据库系统中要使用线性表、链表、索引树等;人工智能中要使用广义表、检索树、有向图等;同样在面向对象的程序设计、计算机图形学、软件工程、多媒体技术、计算机辅助设计等领域,都会用到各种不同的数据结构。因此,学好数据结构,对从事计算机技术及相关领域的工作人员来说,是非常重要的,它可以使你掌握各种常用的数据结构及算法实现,以及每一种算法的时间复杂度分析和空间复杂度分析,知道在什么情况下,使用什么样的数据结构最方便,为以后开发大型程序打下基础。

    数据结构的主要任务是:讨论现实世界中的各种数据(数字、字符、字符串、声音、图形、图像等)的逻辑结构、在计算机中的各种存储结构(存储表示)以及对各种非数值运算的算法实现;分析各种不同算法的好坏及其在什么地方应用比较合适。通过数据结构课程的学习,使学生具备用所学的数据结构来解决实际问题及评价算法优劣的能力,为以后学习后续计算机专业课程及走上工作岗位从事计算机大型软件开发铺路。

    本书内容共分9章,第1章介绍了数据结构与算法等一些基本术语,并对算法描述及算法分析作了简单说明,介绍了衡量算法优劣的主要因素:时间复杂度和空间复杂度的求法;第2章到第4章,介绍了线性结构(线性表、栈、队列、串)的逻辑特征,一些常用算法的实现及基本应用;第5章到第7章,介绍了非线性结构(多维数组、广义表、树、二叉树、图)的逻辑特征,在计算机中的存储表示及一些常用算法实现及基本应用;第8章到第9章,介绍了在计算机中使用非常广泛的两种运算:查找和排序,对一些常用的查找、排序方法进行了详细说明,并给出了实现的算法及时间复杂度和空间复杂度分析。各章内容有相对独立的部分,可便于不同院校不同专业按需要组织教学。全书侧重于数据结构的应用,力求讲授内容与具体的计算机应用实例相结合,以便于学生加深对各章内容的理解和掌握。

    本书的最大特点是采用面向对象的程序设计语言(C++语言)作为算法的描述语言,所有算法都已经上机调试通过。但是,由于篇幅所限,大部分算法都是以单独的函数形式给出,若读者要运行这些算法,还必须给出一些变量的说明及主函数来调用所给的函数。因此,本书中的算法描述比原来数据结构教材中用类PASCAL语言或类C语言描述算法更直观,学生更容易理解和接受。作者在十几年的数据结构课程教学中,对数据结构中的各种算法进行了认真的研究和分析,在这方面积累了丰富的经验,因此,本书中所选的例题和习题都具有一定的针对性,都是针对特定的数据结构来进行描述的,方便学生理解和接受,并能为复杂的数据结构算法描述架桥铺路。

    本书中所有算法都在VC++6.0环境下运行通过(由于篇幅所限,本书中仅给出了实现某功能算法的函数)。为了方便教学,本书免费为授课教师提供用PowerPoint制作的电子教案,教师在使用时可以根据需要进行必要的修改。

    本书可以作为高等院校计算机类或信息类相关专业数据结构课程教材,建议讲授课时为50至70学时,上机实践课时为20至30学时。各院校、各位教师可根据自己学校的专业特点和学生的实际情况,适当增删,目录中前打*号的可以作为选讲内容。

    本书也可供从事计算机应用工作的工程与技术人员参考,还可以作为高等院校学生的自学参考书。

    与本书配套的还有《数据结构(C++版)习题解答及实习指导》,书中提供配套的习题及解答,并配备有数据结构的上机实验指导,可以作为学习指导手册。

    本书由李根强主编,并负责全书的统稿、修改、定稿工作。谢月娥、吴蓉晖、杜四春任副主编。参加本书编写的还有曹翊旺、银红霞、王珺、文斌、刘敏、李红、杜景红、王涛、李辉等,尹海波、王珺、张伟对部分源代码进行了仔细的调试。

    由于编者水平有限,书中不妥或错误之处在所难免,恳请专家和广大读者批评指正。

    编者

    2004年10月


    前言
    第1章 绪论 1
    本章学习目标 1
    1.1 什么是数据结构 1
    1.1.1 数据结构示例 1
    1.1.2 基本术语 2
    1.1.3 数据结构 3
    1.2 算法描述 5
    1.2.1 基本概念 5
    1.2.2 算法描述 5
    1.3 算法分析 7
    1.3.1 时间复杂度 7
    1.3.2 空间复杂度 8
    本章小结 9
    习题一 9
    第2章 线性表 13
    本章学习目标 13
    2.1 线性表的定义及其运算 13
    2.1.1 线性表的定义 13
    2.1.2 线性表的运算 14
    2.1.3 线性表的抽象数据类型描述 14
    2.2 线性表的顺序存储结构 15
    2.2.1 顺序表结构 15
    2.2.2 顺序表运算 16
    2.2.3 顺序表存储空间的动态分配 19
    2.3 线性表的链式存储结构 20
    2.3.1 单链表结构 20
    2.3.2 单链表运算 21
    2.3.3 循环链表结构 26
    2.3.4 双向链表结构 28
    2.4 一元多项式的表示及相加 31
    2.4.1 一元多项式的表示 31
    2.4.2 一元多项式的相加 31
    2.5 顺序表与链表的比较 33
    2.6 算法应用举例 34
    本章小结 37
    习题二 37
    第3章 栈和队列 39
    本章学习目标 39
    3.1 栈 39
    3.1.1 栈的定义 39
    3.1.2 栈的运算 39
    3.1.3 栈的抽象数据类型描述 40
    3.1.4 顺序栈 40
    3.1.5 链栈 44
    3.1.6 栈的应用 45
    3.2 队列 51
    3.2.1 队列的定义 51
    3.2.2 队列的基本运算 51
    3.2.3 队列的抽象数据类型描述 52
    3.2.4 循环队列 52
    3.2.5 链队列 55
    3.2.6 队列的应用 57
    本章小结 57
    习题三 58





最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册