注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络数据库数据库挖掘/数据仓库数据结构

数据结构

数据结构

定 价:¥26.00

作 者: 段隆振等编
出版社: 武汉理工大学出版社
丛编项: 普通高等学校计算机科学与技术专业新编系列教材
标 签: 数据结构

ISBN: 9787562919605 出版时间: 2004-05-01 包装: 平装
开本: 页数: 字数:  

内容简介

  数据结构是计算机科学与技术专业重要的专业基础课程,是提高软件设计水平及学习后续课程必需的基础。课程中涉及到软件中常用的几种数结构及其在计算机内存中表示(或存储)和各种操作的实现,以及软件设计中常用的排序和查找运算。本书系统介绍了线性表、栈、队列、串、数组、广义表、树和二叉树、图、排序、查找和文件等。除了系统地介绍了关概念和一般方法外,还通过大量例题及其分析展示了课程知识的应用,因而容易激发学生的学习兴趣,具有较好的学习效果。本书不仅可以作为高等院校计算机科学与技术专业的数据结构课程的教材,也可作为其他专业学习数据结构课程的教材。

作者简介

暂缺《数据结构》作者简介

图书目录

目录 1绪论(1) 1.1概述(1) 1.1.1什么是数据结构(1) 1.1.2学习数据结构的意义(3) 1.2基本概念和术语(4) 1.2.1数据与数据元素(4) 1.2.2数据的逻辑结构(4) 1.2.3数据的存储结构(5) 1.2.4数据运算(6) 1.2.5数据类型(6) 1.2.6抽象数据类型(7) 1.3算法和算法描述语言(8) 1.3.1算法的书写格式(9) 1.3.2算法中的语句(9) 1.3.3常量、变量说明方式和数据类型标识符(12) 1.3.4运算符号约定(13) 1.4算法分析(13) 思考题与习题(17) 2线性表(19) 2.1线性表的定义和运算(19) 2.1.1线性表的定义(19) 2.1.2线性表的运算(20) 2.2线性表的顺序存储(21) 2.2.1顺序表(21) 2.2.2基本运算在顺序表上的实现(22) 2.2.3顺序表的应用实例(26) 2.3线性表的链式存储(27) 2.3.1单链表(27) 2.3.2循环链表(38) 2.3.3双链表(40) 2.4线性表存储结构的讨论(42) 2.4.1线性表顺序存储与链接存储的比较(42) 2.4.2线性表存储空间的静态分配与动态分配(43) 2.5线性表的应用举例(45) 思考题与习题(48) 3栈和队列(50) 3.1栈(50) 3.1.1栈的定义和运算(50) 3.1.2栈的顺序存储(51) 3.1.3栈的链表存储(55) 3.1.4栈的应用(57) 3.2队列(63) 3.2.1队列的定义和运算(63) 3.2.2队列的链表存储(64) 3.2.3顺序队列(67) 3.2.4队列应用举例(71) 3.3栈的应用——栈和递归(72) 3.3.1递归程序的实现(73) 3.3.2递归程序设计(80) 思考题与习题(84) 4串(86) 4.1串的定义和运算(86) 4.1.1串的定义(86) 4.1.2串的运算(87) 4.2串的存储(89) 4.2.1串值的存储(89) 4.2.2符号表(92) 4.3模式匹配(95) 4.3.1强行搜索算法(95) 4.3.2kmp算法(97) 思考题与习题(102) 5数组和广义表(103) 5.1数组(103) 5.1.1数组的定义和运算(103) 5.1.2数组的顺序存储结构(104) 5.1.3特殊矩阵的压缩存储(110) 5.1.4稀疏矩阵的压缩存储(111) 5.2广义表(117) 5.2.1广义表的定义和运算(117) 5.2.2广义表的存储(119) *5.2.3广义表运算的实现(120) 思考题与习题(121) 6树(123) 6.1概述(123) 6.2二叉树(125) 6.2.1二叉树的有关概念(126) 6.2.2二叉树的性质(126) 6.2.3二叉树的存储结构(129) 6.3二叉树的遍历(130) 6.3.1遍历算法的实现(131) 6.3.2遍历算法的进一步讨论与应用(136) 6.3.3遍历算法思想的应用(137) 6.4线索二叉树(139) 6.4.1线索二叉树结构(140) 6.4.2线索二叉树中前驱后继的讨论(141) 6.4.3线索二叉树的插入(146) 6.4.4二叉树的线索化(149) 6.5树和森林(150) 6.5.1树的存储结构(150) 6.5.2树(森林)与二叉树的转换(154) 6.5.3树(森林)的遍历(155) 6.6哈夫曼树(158) 6.6.1问题描述及求解方法(159) 6.6.2应用实例(162) 思考题与习题(164) 7图(167) 7.1图的定义与术语(168) 7.1.1图的定义(168) 7.1.2图的基本术语(169) 7.1.3图的基本操作(170) 7.2图的存储表示(172) 7.2.1邻接矩阵表示法(172) 7.2.2邻接表表示法(173) 7.2.3邻接多重表表示法(176) 7.2.4十字链表表示法(177) 7.3图的遍历(179) 7.3.1深度优先遍历(180) 7.3.2广度优先遍历(182) 7.4最小生成树(184) 7.4.1最小生成树的概念(184) 7.4.2普里姆算法(185) 7.4.3克鲁斯卡尔算法(188) 7.5拓扑排序与关键路径(189) 7.5.1拓扑排序(190) 7.5.2关键路径(193) 7.6最短路径(199) 7.6.1从某个源点到其余各顶点的最短路径(199) 7.6.2所有顶点对之间的最短路径(203) 思考题与习题(207) 8排序(210) 8.1基本概念(210) 8.1.1什么是排序(210) 8.1.2排序的分类(211) 8.1.3基本操作(211) 8.1.4存储结构(212) 8.1.5内部排序的方法(212) 8.1.6稳定性(213) 8.2插入排序(213) 8.2.1直接插入排序(214) 8.2.2折半插入排序(217) 8.2.3希尔排序(218) 8.3交换排序(220) 8.3.1冒泡排序(220) 8.3.2快速排序(222) 8.4选择排序(229) 8.4.1直接选择排序(229) 8.4.2堆排序(230) 8.5归并排序(235) 8.5.1方法描述(235) 8.5.2排序算法(236) 8.5.3算法分析(238) 8.6基数排序(238) 8.6.1概述(238) 8.6.2从高到低的排序(239) 8.6.3从低到高的排序(240) 8.7几种排序方法的比较(242) 8.7.1时间复杂度(243) 8.7.2空间复杂度(243) 8.7.3稳定性(244) 8.7.4关于“排序方法的时间复杂度的下限”(244) 8.7.5实例(245) 8.8外部排序简介(247) 思考题与习题(249) 9查找(250) 9.1基本概念(250) 9.2顺序表的查找(252) 9.2.1简单顺序表的查找(253) 9.2.2折半查找(254) 9.2.3索引顺序表的查找(257) 9.3树表的查找(258) 9.3.1二叉排序树(259) 9.3.2平衡二叉树(261) 9.3.3b树和b+树(265) 9.4散列表(271) 9.4.1散列表(272) 9.4.2散列函数的构造方法(273) 9.4.3冲突及其解决方法(276) 9.4.4散列表的查找及其分析(278) 思考题与习题(281) 10文件简介(282) 10.1文件的基本概念(282) 10.1.1文件的分类(282) 10.1.2文件的逻辑结构(283) 10.1.3文件的物理结构(283) 10.1.4文件的操作(283) 10.2顺序文件(284) 10.3索引文件(285) 10.4isam文件和vsam文件(286) 10.4.1isam文件(286) 10.4.2vsam文件(286) 10.5散列文件(287) 10.6多关键字文件(288) 10.6.1多重表文件(288) 10.6.2倒排文件(290) 思考题与习题(291) 参考文献(293)

本目录推荐