0去购物车结算
购物车中还没有商品,赶紧选购吧!
当前位置: 图书分类 > 信息技术 > 软件开发与程序设计 > 数据结构(Java语言版)

相同语种的商品

浏览历史

数据结构(Java语言版)


联系编辑
 
标题:
 
内容:
 
联系方式:
 
  
数据结构(Java语言版)
  • 书号:9787030650849
    作者:董树锋等
  • 外文书名:
  • 装帧:平装
    开本:B5
  • 页数:397
    字数:500000
    语种:zh-Hans
  • 出版社:科学出版社
    出版时间:2020-07-01
  • 所属分类:
  • 定价: ¥138.00元
    售价: ¥109.02元
  • 图书介质:
    纸质书

  • 购买数量: 件  可供
  • 商品总价:

相同系列
全选

内容介绍

样章试读

用户评论

全部咨询

本书是为“数据结构”课程编写的教材,前面两章介绍数学基础和算法相关预备知识,第3章至第10章介绍常见数据结构的抽象数据类型、算法实现、性能分析及其应用。本书注重全面运用数据结构知识解决实际问题的案例介绍,同时穿插程序设计的技巧。全书采用Java语言作为数据结构和算法的描述语言,介绍JDK中常见的数据结构的实现原理,如ArrayList、LinkedList、HashMap等,对于高效使用这些对象,提高程序性能有指导意义,特别适合Java语言的进阶学习者。本书提供了大量设计精良的代码,且不乏对算法背后所蕴含数学原理的精彩介绍,使读者不仅能够编写出高效、精致的程序,而且达到“知其然,也知其所以然”的效果。
样章试读
  • 暂时还没有任何用户评论
总计 0 个记录,共 1 页。 第一页 上一页 下一页 最末页

全部咨询(共0条问答)

  • 暂时还没有任何用户咨询内容
总计 0 个记录,共 1 页。 第一页 上一页 下一页 最末页
用户名: 匿名用户
E-mail:
咨询内容:

目录

  • 目录
    前言 i
    第1章 绪论 1
    1.1 几个实际问题 1
    1.1.1 学生成绩表管理 1
    1.1.2 人机对弈 2
    1.1.3 路径导航 3
    1.2 本书主要讨论内容 3
    1.2.1 数据结构的主要内容 3
    1.2.2 学习数据结构的意义 4
    1.3 数学知识复习 5
    1.3.1 指数 5
    1.3.2 对数 5
    1.3.3 级数 6
    1.3.4 模运算 8
    1.3.5 证明方法 8
    1.4 总结 10
    第2章 算法分析 11
    2.1 数学基础 11
    2.2 模型 13
    2.3 要分析的问题 14
    2.4 算法的运行时间计算 17
    2.4.1 一个简单的例子 17
    2.4.2 一般法则 18
    2.4.3 最大子序列和问题的解 21
    2.4.4 运行时间中的对数 27
    2.4.5 检验结果 30
    2.4.6 分析结果的准确性 31
    2.4.7 算法的存储空间计算 32
    2.5 总结 32
    第3章 线性表 34
    3.1 抽象数据类型 34
    3.2 线性表的逻辑特性 35
    3.2.1 定义 35
    3.2.2 特征 35
    3.2.3 运算 35
    3.3 顺序表及其实现 36
    3.3.1 顺序表 36
    3.3.2 表的简单数组实现 36
    3.3.3 ArrayList 的实现 37
    3.4 链表及其实现 47
    3.4.1 链表的思想 47
    3.4.2 单向链表 47
    3.4.3 单向链表ADT 49
    3.4.4 常见的错误 56
    3.4.5 模块化设计 56
    3.4.6 双向链表 57
    3.4.7 循环链表 61
    3.5 链表应用实例 62
    3.5.1 一元多项式 62
    3.5.2 音乐播放列表排序 67
    3.5.3 多重表 70
    3.6 总结 71
    第4章 栈和队列 72
    4.1 栈 72
    4.1.1 栈的定义 72
    4.1.2 栈ADT 73
    4.1.3 栈的顺序表示 73
    4.1.4 栈的链接表示 76
    4.2 表达式计算 78
    4.2.1 表达式 78
    4.2.2 计算后缀表达式的值 78
    4.2.3 中缀表达式转换为后缀表达式 80
    4.2.4 利用两个栈计算表达式 81
    4.3 递归 86
    4.3.1 递归的概念 86
    4.3.2 递归的实现 91
    4.4 队列 92
    4.4.1 队列ADT 92
    4.4.2 队列的数组实现 93
    4.4.3 队列数组实现的改进 96
    4.4.4 循环队列 96
    4.4.5 循环队列的应用 99
    4.4.6 队列的链接表示 99
    4.4.7 舞伴问题 101
    4.5 总结 103
    第5章 矩阵 104
    5.1 矩阵的二维数组存储 104
    5.2 特殊矩阵的压缩存储 107
    5.2.1 稠密矩阵和稀疏矩阵 107
    5.2.2 对称矩阵 107
    5.2.3 三角矩阵 108
    5.2.4 带状矩阵 110
    5.3 稀疏矩阵的压缩存储 111
    5.3.1 三元组顺序表存储 112
    5.3.2 行逻辑链接的顺序存储 116
    5.3.3 十字链表 121
    5.3.4 稀疏矩阵的并行运算 129
    5.4 总结 130
    第6章 查找和散列表 131
    6.1 查找方法 131
    6.1.1 顺序表的查找 131
    6.1.2 有序表的查找 133
    6.1.3 索引顺序表的查找 138
    6.1.4 散列表的查找 139
    6.2 散列表 140
    6.2.1 基本思想 140
    6.2.2 构造散列函数的原则 141
    6.3 常见散列函数 141
    6.3.1 直接定址法 141
    6.3.2 数字分析法 142
    6.3.3 平方取中法 142
    6.3.4 折叠法 143
    6.3.5 除留余数法 143
    6.4 解决散列函数冲突的方法 144
    6.4.1 拉链法 144
    6.4.2 开放定址法 145
    6.4.3 装填因子 148
    6.4.4 再散列 148
    6.5 散列表的查找 150
    6.5.1 散列表的实现 150
    6.5.2 性能分析 162
    6.5.3 散列表的改进 162
    6.6 总结 163
    第7章 排序 164
    7.1 基本概念 164
    7.2 插入排序 165
    7.2.1 直接插入排序 165
    7.2.2 对直接插入排序的分析 167
    7.2.3 希尔排序 168
    7.2.4 对希尔排序的分析 170
    7.3 交换排序 170
    7.3.1 冒泡排序 171
    7.3.2 对冒泡排序的分析 172
    7.3.3 快速排序 173
    7.3.4 实际的快速排序程序 175
    7.3.5 对快速排序的分析 176
    7.4 选择排序 177
    7.4.1 算法实现 177
    7.4.2 效率分析 178
    7.5 归并排序 178
    7.5.1 二路归并排序 178
    7.5.2 对归并排序的分析 181
    7.6 基数排序 182
    7.6.1 多关键字的排序 182
    7.6.2 链式基数排序 183
    7.6.3 对基数排序的分析 185
    7.7 外部排序 188
    7.7.1 外部排序的概念 188
    7.7.2 简单算法 189
    7.7.3 多路合并 190
    7.7.4 多相合并 192
    7.7.5 替换选择 193
    7.8 ArrayList与LinkedList中的排序方法 194
    7.8.1 ArrayList中的排序方法 195
    7.8.2 LinkedList中的排序方法 201
    7.9 总结 203
    第8章 树 205
    8.1 树的基础知识 205
    8.1.1 基本术语 205
    8.1.2 树的ADT 207
    8.1.3 树的表示 209
    8.1.4 树的实现 210
    8.2 树的遍历 211
    8.2.1 前序遍历 211
    8.2.2 后序遍历 213
    8.3 二叉树 215
    8.3.1 二叉树基本概念 215
    8.3.2 二叉树的性质 219
    8.3.3 二叉树的实现 220
    8.3.4 二叉树的遍历方法以及非递归实现 223
    8.3.5 表达式树 230
    8.3.6 哈夫曼树 240
    8.3.7 决策树 247
    8.4 二叉查找树 251
    8.4.1 二叉查找树的概念 251
    8.4.2 查找操作 252
    8.4.3 插入操作 254
    8.4.4 删除操作 255
    8.4.5 性能分析 258
    8.5 二叉平衡树 260
    8.5.1 二叉平衡树的概念 260
    8.5.2 平衡化策略 262
    8.5.3 平衡树的实现 268
    8.6 其他一些树 276
    8.6.1 伸展树 276
    8.6.2 B-树 277
    8.6.3 红黑树的概念 283
    8.6.4 红黑树的实现 284
    8.7 总结 293
    第9章 优先队列(堆) 295
    9.1 基本概念和简单实现 295
    9.2 二叉堆 296
    9.2.1 堆ADT 298
    9.2.2 基本的堆操作 298
    9.3 d-堆 311
    9.4 左式堆 312
    9.4.1 左式堆的性质 312
    9.4.2 左式堆的操作 313
    9.5 斜堆 320
    9.6 二项队列 321
    9.6.1 二项队列的结构 322
    9.6.2 二项队列的操作 323
    9.6.3 二项队列的实现 325
    9.7 优先队列的应用 331
    9.7.1 堆排序 331
    9.7.2 选择问题 334
    9.7.3 事件模拟 335
    9.8 总结 336
    第10章 图论算法 337
    10.1 图的基本概念 337
    10.1.1 定义与术语 338
    10.1.2 图ADT 341
    10.2 图的存储 341
    10.2.1 矩阵表示法 341
    10.2.2 邻接矩阵表示法的实现 343
    10.2.3 邻接表表示法 346
    10.2.4 邻接表表示法的实现 346
    10.2.5 Java开源库JGraphT中对图的存储方法 349
    10.3 图的遍历 350
    10.3.1 广度优先遍历 350
    10.3.2 深度优先遍历 353
    10.3.3 图的连通性 356
    10.4 拓扑排序 359
    10.4.1 AOV网络 359
    10.4.2 拓扑排序的概念 360
    10.4.3 拓扑排序算法及其实现 361
    10.5 关键路径 365
    10.5.1 AOE网络 365
    10.5.2 关键路径的概念 366
    10.5.3 关键路径算法及其实现 368
    10.6 最小生成树 371
    10.6.1 最小生成树的概念 371
    10.6.2 Prim算法 373
    10.6.3 Kruskal算法 378
    10.7 最短路径问题 381
    10.7.1 问题描述 382
    10.7.2 Dijkstra算法 383
    10.7.3 Floyd算法 392
    10.8 总结 396
    参考文献 398
    附录 399
帮助中心
公司简介
联系我们
常见问题
新手上路
发票制度
积分说明
购物指南
配送方式
配送时间及费用
配送查询说明
配送范围
快递查询
售后服务
退换货说明
退换货流程
投诉或建议
版权声明
经营资质
营业执照
出版社经营许可证