基本信息
书名:数据结构与算法
作者:张铭, 王腾蛟, 赵海燕,
出版社:高等教育出版社
出版日期:2008-06-01
ISBN:9787040239614
字数:
页码:381
版次:1
装帧:平装
开本:16
商品重量:0.599kg
编辑推荐
《数据结构与算法》:系统介绍各种基本数据结构的概念、原理和操作方法,并从算法的角度讨论排序和检索算法。
以问题求解为主线,从问题抽象、数据抽象和算法抽象的角度组织数据结构与算法的设计。
注重将理论内容结合应用背景,加强上机动手实践能力训练,着重培养学生的抽象思维能力与问题建模能力,使其学会如何根据实际问题对数据结构和算法进行取舍,在时间复杂度和空间复杂度之间进行平衡。
提供PPT电子教案、网络课程、立体化教学网站等教学资源,与《数据结构与算法》配套的实习课教材《数据结构与算法实验教程》将于2009年出版。
依据教育部高等学校计算机科学与技术教学指导委员会编制的高等学校计算机科学与技术专业规范和IEEE/ACM制订的CC2001-CC2005有关教程编写。
内容提要
《数据结构与算法》是普通高等教育“十一五”规划教材,也是北京市精品课程主讲教材。《数据结构与算法》按照IEEE/ACM CC20025和教育部教指委关于“计算机科学与技术专业规范”(CCC2005)的要求编写,力求使学生较全面地理解数据结构的概念、掌握各种数据结构与算法的实现方式,同时比较不同数据结构和算法的特点,重点强调实践教学和学生动手能力的培养。
《数据结构与算法》的内容涉及基本数据结构、排序、索引、检索、高级数据结构等内容,借助抽象数据类型,从逻辑结构的角度系统介绍线性表、字符串、二叉树、树和图等各种基本数据结构;从算法的角度系统地介绍各类排序、检索和索引算法;从应用的角度介绍一些更复杂的数据结构与算法分析技术。《数据结构与算法》采用能够更自然体现抽象数据类型概念的C++语言作为算法描述语言,注意对每一种数据结构的不同存储方法及相关算法进行比较分析。很多算法使用了参数化的模板,从而提高了算法中数据类型的通用性,支持高效的代码重用。
《数据结构与算法》概念清楚,逻辑性强,内容新颖,可作为普通高校计算机科学与技术专业学生的教材和参考书,也可作为参加计算机科学与技术学科硕士/ 博士生、软件工程硕士生入学考试的考试参考书,还可供计算机应用技术和电子学等理科专业的学生参考。
目录
第1章 概论
1.1 问题求解
1.1.1 问题描述:股市的传言
1.1.2 问题分析和抽象
1.1.3 数据结构和算法设计
1.2 数据结构
1.2.1 数据的逻辑结构
1.2.2 数据的存储结构
1.2.3 抽象数据类型
1.3 算法
1.3.1 算法的概念
1.3.2 算法设计
1.4 算法分析
1.4.1 渐进分析方法
1.4.2 、差和平均情况
1.4.3 时间和空间的折衷
1.4.4 求解问题时数据结构的选择和评价
本章小结
习题
上机题
第2章 线性表
2.1 线性表的概念
2.1.1 线性表的抽象数据类型
2.1.2 线性表的存储结构
2.1.3 线性表运算分类
2.2 顺序表
2.2.1 顺序表的类定义
2.2.2 顺序表的运算实现
2.3 链表
2.3.1 单链表
2.3.2 双链表
2.3.3 循环链表
2.4 线性表实现方法的比较
本章小结
习题
上机题
第3章 栈与队列
3.1 栈
3.1.1 栈的抽象数据类型
3.1.2 顺序栈
3.1.3 链式栈
3.1.4 表达式求值
3.1.5 栈与递归
3.2 队列
3.2.1 队列的抽象数据类型
3.2.2 顺序队列
3.2.3 链式队列
3.3 栈与队列的深入讨论
3.3.1 顺序栈与链式栈的比较
3.3.2 顺序队列与链式队列的比较
3.3.3 限制存取点的表
本章小结
习题
上机题
第4章 字符串
4.1 字符串的基本概念
4.1.1 字符编码
4.1.2 字符的编码顺序
4.1.3 字符串抽象数据类型
4.2 字符串的存储结构和实现
4.2.1 字符串的顺序存储
4.2.2 字符串类Class String的存储结构
4.2.3 字符串运算的实现
4.3 字符串的模式匹配
4.3.1 朴素的模式匹配算法
4.3.2 字符串的特征向量
4.3.3 KMP模式匹配算法
本章小结
习题
上机题
第5章 二叉树
5.1 二叉树的概念
5.1.1 二叉树的定义和基本术语
5.1.2 满二叉树、完全二叉树、扩充二叉树
5.1.3 二叉树的主要性质
5.2 二叉树的周游
5.2.1 二叉树的抽象数据类型
5.2.2 深度优先周游二叉树
5.2.3 广度优先周游二叉树
5.3 二叉树的存储结构
5.3.1 二叉树的链式存储结构
5.3.2 完全二叉树的顺序存储结构
5.4 二叉搜索树
5.5 堆与优先队列
5.5.1 堆的定义及其实现
5.5.2 优先队列
5.6 Huffman树及其应用
5.6.1 Huffman树
5.6.2 Huffman编码
本章小结
习题
上机题
第6章 树
6.1 树的定义和基本术语
6.1.1 树和森林
6.1.2 森林与二叉树的等价转换
6.1.3 树的抽象数据类型
6.1.4 树的周游
6.2 树的链式存储结构
6.2.1 “子结点表”表示方法
6.2.2 静态“左子/右兄”表示法
6.2.3 动态表示法
6.2.4 动态“左子/右兄”二叉链表表示法
6.2.5 父指针表示法和在并查集中的应用
6.3 树的顺序存储结构
6.3.1 带右链的先根次序表示
6.3.2 带双标记的先根次序表示
6.3.3 带度数的后根次序表示
6.3.4 带双标记的层次次序表示
6.4 K叉树
本章小结
习题
上机题
第7章 图
7.1 图的定义和基本术语
7.2 图的抽象数据类型
7.3 图的存储结构
……
第8章 内排序
第9章 文件管理和外排序
第10章 检索
第11章 索引技术
第12章 高级数据结构
参考文献
作者介绍
文摘
版权页:
插图:
在信息技术日益渗透到各行各业的今天,计算机已成为解决各类实际问题的主要工具。利用计算机来解决各种实际问题不可避免地涉及众多的知识和学科,而计算机学科便是其中的核心学科。
作为计算机学科一个重要的分支,数据结构与算法的研究涉及构筑计算机求解问题过程的两大基石:刻画实际问题中信息及其关系的数据结构和描述问题解决方案的逻辑抽象的算法。数据结构与算法呈相互依赖的关系,只有恰当地确立了问题的结构,才能选择和设计合适的解决方法。可以说,数据结构与算法的相关知识是有效使用计算机的基本前提。所有计算机系统软件和应用软件都要用到各种类型的数据结构以及一些典型的算法设计和分析技巧。在诸如图形、数据库、数值分析等专门领域中,解决问题的能力依赖于其中的算法与数据结构的进展。“数据结构与算法”课程是“算法分析与设计”、“操作系统”、“软件工程”、“数据库概论”、“编译技术”、“计算机图形学”、“人机交互”等专业基础课和专业课程的先修课程。
本章由一个实例开始阐述从问题求解到程序设计的过程,并概述其中涉及的基本概念。在阐述数据结构和算法的同时,揭示数据结构与算法之间的密切关系。
1.1问题求解
学习过计算引论的人大多都听说过Niklaus wirth的著名公式“程序=数据结构+算法”。该公式在阐明算法、数据结构与程序设计的重要性的同时,也从一个方面阐述了数据结构与算法的密切关系。
何谓程序,算法以及数据结构又是什么?作为计算机科学的核心课程,“数据结构与算法”正是为了解答这些问题而设立的。简单来讲,程序是计算机“指令”的某种组合,用来控制计算机的工作流程,完成一定的逻辑功能,从而实现某种任务。算法是程序的逻辑抽象,是解决某类客观问题的过程。数据结构是现实世界的数据及其间关系的反映,可以从逻辑结构和物理结构两个层面去刻画:客观事物自身所具有的结构特点称为逻辑结构,例如家族谱系即为一个天然的树形逻辑结构;而逻辑结构在计算机中的具体实现则称为物理结构,例如用于表示树形逻辑结构的指针或数组。
序言
这本书的深度和广度都超乎我的想象,绝对是一部值得反复研读的佳作。作为一名有一定经验的工程师,我一直对算法的优化和效率提升非常关注。而这本书在这一点上做得非常出色。它不仅介绍了各种基本数据结构和算法,更深入地探讨了它们的性能分析和优化技巧。我特别欣赏书中关于图算法的讲解,像是Dijkstra算法、Floyd-Warshall算法等,作者们不仅给出了清晰的算法描述,还对它们的原理、适用条件以及时间空间复杂度进行了严谨的推导和分析。这些对于我理解和应用这些算法解决实际的路径规划、网络分析等问题提供了坚实的基础。此外,书中关于字符串匹配算法的介绍,如KMP算法、Boyer-Moore算法等,也都非常详尽,并且深入剖析了它们的核心思想和实现细节,这对于我在文本处理、模式识别等领域的工作非常有启发。我甚至觉得,这本书的内容已经远远超出了“数据结构与算法”的范畴,它更像是一本关于如何构建高效、可扩展的计算系统的指导手册。
评分我最近刚开始接触编程,对数据结构和算法的概念感到有些茫然。朋友们都推荐我读这本书,说是非常经典。拿到书后,我果然没有失望!这本书对我来说,就像是一盏指路明灯,让我不再迷失在纷繁复杂的概念之中。作者们用了非常通俗易懂的语言,加上大量的图示,把原本枯燥乏味的概念变得生动有趣。我尤其喜欢书中关于数组和链表的对比讲解,通过生动的比喻,让我一下子就理解了它们在内存存储、插入删除操作上的根本区别。还有关于排序算法的部分,书中对各种排序算法的时间复杂度、稳定性等进行了详细的对比分析,并且给出了多种实现方式,这让我能够从不同的角度去理解和掌握这些算法。最让我感到惊喜的是,书中还介绍了哈希表的原理和应用,这对于我理解各种字典、映射等数据结构有着重要的帮助。学习这本书的过程中,我感觉自己对计算机底层运作的理解也在不断加深,这让我感到非常兴奋。我非常有信心,通过这本书的学习,我能够为我未来的编程之路打下坚实的基础。
评分这本书真是太棒了!从拿到手的那一刻起,我就被它扎实的理论基础和清晰的讲解深深吸引。我一直在寻找一本能够真正深入理解数据结构和算法精髓的书籍,而这本书无疑满足了我的所有期待。作者们用一种非常直观的方式,将抽象的概念变得生动易懂,即使是初学者也能快速入门。书中大量的图示和伪代码,让我在学习过程中能够随时对照,加深理解。特别是我在学习树和图的部分时,那些精心设计的例子,让我能够从不同的角度去审视这些复杂的结构,并且能够灵活运用到实际问题中。而且,本书不仅仅停留在理论层面,还包含了许多实际应用场景的分析,这对于我这种希望将所学知识应用到项目开发中的读者来说,简直是雪中送炭。我尤其欣赏的是,书中提供的练习题,难度适中,能够有效地检验我的学习成果,并且还能启发我进行更深层次的思考。那些题目设计得非常巧妙,让我能够温故知新,巩固基础,同时又能接触到一些更高级的技巧。总而言之,这本书是我在数据结构与算法学习道路上遇到的一个宝藏,我强烈推荐给所有想要提升自身编程能力的朋友们。
评分我是一名计算机科学专业的学生,为了应对即将到来的期末考试和未来的学习,我迫切需要一本能够全面、系统地讲解数据结构与算法的书籍。这本书的出现,简直是雪中送炭。我之前学过一些零散的知识点,但总感觉不成体系,缺乏连贯性。而这本书的结构设计非常合理,从最基本的概念入手,一步步深入到更复杂的算法和数据结构。我尤其喜欢书中关于二叉树和平衡二叉树的讲解,作者们用非常生动的语言,结合大量的示意图,将抽象的树形结构变得形象具体,让我能够轻松理解其遍历方式、插入和删除操作。而且,书中还对各种平衡二叉树,比如AVL树、红黑树等,进行了详细的比较和分析,让我对它们的优缺点以及适用场景有了清晰的认识。此外,书中关于堆和优先队列的讲解也让我非常满意,这对于我理解各种调度算法、图算法中的应用有着至关重要的作用。这本书不仅内容丰富,而且语言精炼,条理清晰,是我学习数据结构与算法过程中不可多得的良师益友。
评分作为一名在IT行业摸爬滚打多年的开发者,我深知扎实的数据结构与算法功底对于职业发展的关键性。因此,我一直在寻找一本能够帮助我系统性梳理和提升这方面知识的书籍。这本《正版 数据结构与算法》恰恰符合了我的要求。我不得不说,这本书的编排逻辑非常出色,层层递进,从基础的线性表、栈、队列,到复杂的树、图,再到各种经典算法,都讲解得条理清晰,重点突出。作者们在讲解的过程中,不仅仅是罗列概念和实现,更重要的是对每种数据结构和算法的适用场景、时间空间复杂度进行了深入的分析,这对于我这种需要实际解决问题的人来说,是极其宝贵的。我特别喜欢书中关于动态规划的讲解,作者们通过几个经典的例子,比如背包问题、最长公共子序列等,将动态规划的“最优子结构”和“重叠子问题”的思考方式阐释得淋漓尽致,让我茅塞顿开。此外,书中对递归和分治策略的讲解也让我受益匪浅,它们之间的联系与区别,以及在解决实际问题中的应用,都有非常详细的阐述。这本书不仅仅是一本技术书籍,更像是一位经验丰富的导师,在我学习的路上给予我宝贵的指导。
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 book.cndgn.com All Rights Reserved. 新城书站 版权所有