万本电子书0元读

万本电子书0元读

顶部广告

大话数据结构电子书

  超级畅销书《大话设计模式》作者的新作!用户群更为广泛,写作风格一如既往,技术沉淀更加深厚,势必掀起全民数据结构的热潮!   大话设计模式——谈笑间,读懂IT世界 大话存储——谈笑间,读懂IT世界 大话处理器——谈笑间,读懂IT世界

售       价:¥

纸质售价:¥44.20购买纸书

883人正在读 | 0人评论 7.4

作       者:程杰

出  版  社:清华大学出版社

出版时间:2011-06-01

字       数:22.4万

所属分类: 科技 > 计算机/网络 > 计算机理论与教程

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(0条)
  • 读书简介
  • 目录
  • 累计评论(0条)
本书为超级畅销书《大话设计模式》作者程杰潜心三年推出的扛鼎之作!以一个计算机教师教学为场景,讲解数据结构和相关算法的知识。通篇以一种趣味方式来叙述,大量引用了各种各样的生活知识来类比,并充分运用图形语言来体现抽象内容,对数据结构所涉及到的一些经典算法做到逐行分析、多算法比较。与市场上的同类数据结构图书相比,本书内容趣味易读,算法讲解细致深刻,是一本非常适合自学的读物。 本书以一个计算机教师教学为场景,讲解数据结构和相关算法的知识。通篇以一种趣味方式来叙述,大量引用了各种各样的生活知识来类比,并充分运用图形语言来体现抽象内容,对数据结构所涉及到的一些经典算法做到逐行分析、多算法比较。与市场上的同类数据结构图书相比,本书内容趣味易读,算法讲解细致深刻,是一本非常适合自学的读物。 本书主要内容包含:数据结构介绍、算法推导大O阶的方法;顺序结构与式结构差异、栈与队列的应用;串的朴素模式匹配、KMP模式匹配算法;二叉树前中后序遍历、赫夫曼树及应用;图的深度、广度遍历;小生成树两种算法、短路径两种算法;拓扑排序与关键路径算法;折半查找、插值查找、斐波那契查找等静态查找;稠密索引、分块索引、倒排索引等索引技术;二叉排序树、平衡二叉树等动态查找;B树、B 树技术,散列表技术;冒泡、选择、插等简单排序;希尔、堆、归并、快速等改排序…… 本书适合学过一门编程语言的各类读者,包括在读的大中专计算机专业学生、想转行做发的非专业人员、欲考计算机研究生的应届或在职人员,以及工作后需要补学或温习数据结构和算法的程序员等<br/>【推荐语】<br/>超级畅销书《大话设计模式》作者的新作!用户群更为广泛,写作风格一如既往,技术沉淀更加深厚,势必掀起全民数据结构的热潮!   大话设计模式——谈笑间,读懂IT世界 大话存储——谈笑间,读懂IT世界 大话处理器——谈笑间,读懂IT世界<br/>【作者】<br/>一个被读者誉为很适合写IT技术书的家伙。《大话设计模式》作者。此书07年末出版至今已经简体版印刷9次、繁体版印刷6次,取得了较好的成绩,创了一种适合国人阅读的趣味讲解IT知识的风格模式。其本人参与过政府、证券、游戏、交通等多种行业的软件发及项目管理工作,也曾做过软件培训的教师。因曾有过两年半高中数学教学的独特经历,使得其书作当中处处以初学者视角考虑和分析问题,他成为了当前很受欢迎的IT技术图书作者之一。<br/>
目录展开

封面页

书名页

版权页

作者简介

内容简介

作者感言

前 言

编者的话

目录

第1章 数据结构绪论

1.1 开场白

1.2 你数据结构怎么学的?

1.3 数据结构起源

1.4 基本概念和术语

1.4.1 数据

1.4.2 数据元素

1.4.3 数据项

1.4.4 数据对象

1.4.5 数据结构

1.5 逻辑结构与物理结构

1.5.1 逻辑结构

1.5.2 物理结构

1.6 抽象数据类型

1.6.1 数据类型

1.6.2 抽象数据类型

1.7 总结回顾

1.8 结尾语

第2章 算法

2.1 开场白

2.2 数据结构与算法关系

2.3 两种算法的比较

2.4 算法定义

2.5 算法的特性

2.5.1 输入输出

2.5.2 有穷性

2.5.3 确定性

2.5.4 可行性

2.6 算法设计的要求

2.6.1 正确性

2.6.2 可读性

2.6.3 健壮性

2.6.4 时间效率高和存储量低

2.7 算法效率的度量方法

2.7.1 事后统计方法

2.7.2 事前分析估算方法

2.8 函数的渐近增长

2.9 算法时间复杂度

2.9.1 算法时间复杂度定义

2.9.2 推导大O阶方法

2.9.3 常数阶

2.9.4 线性阶

2.9.5 对数阶

2.9.6 平方阶

2.10 常见的时间复杂度

2.11 最坏情况与平均情况

2.12 算法空间复杂度

2.13 总结回顾

2.14 结尾语

第3章 线性表

3.1 开场白

3.2 线性表的定义

3.3 线性表的抽象数据类型

3.4 线性表的顺序存储结构

3.4.1 顺序存储定义

3.4.2 顺序存储方式

3.4.3 数据长度与线性表长度区别

3.4.4 地址计算方法

3.5 顺序存储结构的插入与删除

3.5.1 获得元素操作

3.5.2 插入操作

3.5.3 删除操作

3.5.4 线性表顺序存储结构的优缺点

3.6 线性表的链式存储结构

3.6.1 顺序存储结构不足的解决办法

3.6.2 线性表链式存储结构定义

3.6.3 头指针与头结点的异同

3.6.4 线性表链式存储结构代码描述

3.7 单链表的读取

3.8 单链表的插入与删除

3.8.1 单链表的插入

3.8.2 单链表的删除

3.9 单链表的整表创建

3.10 单链表的整表删除

3.11 单链表结构与顺序存储结构优缺点

3.12 静态链表

3.12.1 静态链表的插入操作

3.12.2 静态链表的删除操作

3.12.3 静态链表优缺点

3.13 循环链表

3.14 双向链表

3.15 总结回顾

3.16 结尾语

第4章 栈与队列

4.1 开场白

4.2 栈的定义

4.2.1 栈的定义

4.2.2 进栈出栈变化形式

4.3 栈的抽象数据类型

4.4 栈的顺序存储结构及实现

4.4.1 栈的顺序存储结构

4.4.2 栈的顺序存储结构——进栈操作

4.4.3 栈的顺序存储结构——出栈操作

4.5 两栈共享空间

4.6 栈的链式存储结构及实现

4.6.1 栈的链式存储结构

4.6.2 栈的链式存储结构——进栈操作

4.6.3 栈的链式存储结构——出栈操作

4.7 栈的作用

4.8 栈的应用——递归

4.8.1 斐波那契数列实现

4.8.2 递归定义

4.9 栈的应用——四则运算表达式求值

4.9.1 后缀(逆波兰)表示法定义

4.9.2 后缀表达式计算结果

4.9.3 中缀表达式转后缀表达式

4.10 队列的定义

4.11 队列的抽象数据类型

4.12 循环队列

4.12.1 队列顺序存储的不足

4.12.2 循环队列定义

4.13 队列的链式存储结构及实现

4.13.1 队列的链式存储结构——入队操作

4.13.2 队列的链式存储结构——出队操作

4.14 总结回顾

4.15 结尾语

第5章 串

5.1 开场白

5.2 串的定义

5.3 串的比较

5.4 串的抽象数据类型

5.5 串的存储结构

5.5.1 串的顺序存储结构

5.5.2 串的链式存储结构

5.6 朴素的模式匹配算法

5.7 KMP模式匹配算法

5.7.1 KMP模式匹配算法原理

5.7.2 next数组值推导

5.7.3 KMP模式匹配算法实现

5.7.4 KMP模式匹配算法改进

5.7.5 nextval数组值推导

5.8 总结回顾

5.9 结尾语

第6章 树

6.1 开场白

6.2 树的定义

6.2.1 结点分类

6.2.2 结点间关系

6.2.3 树的其他相关概念

6.3 树的抽象数据类型

6.4 树的存储结构

6.4.1 双亲表示法

6.4.2 孩子表示法

6.4.3 孩子兄弟表示法

6.5 二叉树的定义

6.5.1 二叉树特点

6.5.2 特殊二叉树

6.6 二叉树的性质

6.6.1 二叉树性质1

6.6.2 二叉树性质2

6.6.3 二叉树性质3

6.6.4 二叉树性质4

6.6.5 二叉树性质5

6.7 二叉树的存储结构

6.7.1 二叉树顺序存储结构

6.7.2 二叉链表

6.8 遍历二叉树

6.8.1 二叉树遍历原理

6.8.2 二叉树遍历方法

6.8.3 前序遍历算法

6.8.4 中序遍历算法

6.8.5 后序遍历算法

6.8.6 推导遍历结果

6.9 二叉树的建立

6.10 线索二叉树

6.10.1 线索二叉树原理

6.10.2 线索二叉树结构实现

6.11 树、森林与二叉树的转换

6.11.1 树转换为二叉树

6.11.2 森林转换为二叉树

6.11.3 二叉树转换为树

6.11.4 二叉树转换为森林

6.11.5 树与森林的遍历

6.12 赫夫曼树及其应用

6.12.1 赫夫曼树

6.12.2 赫夫曼树定义与原理

6.12.3 赫夫曼编码

6.13 总结回顾

6.14 结尾语

第7章 图

7.1 开场白

7.2 图的定义

7.2.1 各种图定义

7.2.2 图的顶点与边间关系

7.2.3 连通图相关术语

7.2.4 图的定义与术语总结

7.3 图的抽象数据类型

7.4 图的存储结构

7.4.1 邻接矩阵

7.4.2 邻接表

7.4.3 十字链表

7.4.4 邻接多重表

7.4.5 边集数组

7.5 图的遍历

7.5.1 深度优先遍历

7.5.2 广度优先遍历

7.6 最小生成树

7.6.1 普里姆(Prim)算法

7.6.2 克鲁斯卡尔(Kruskal)算法

7.7 最短路径

7.7.1 迪杰斯特拉(Dijkstra)算法

7.7.2 弗洛伊德(Floyd)算法

7.8 拓扑排序

7.8.1 拓扑排序介绍

7.8.2 拓扑排序算法

7.9 关键路径

7.9.1 关键路径算法原理

7.9.2 关键路径算法

7.10 总结回顾

7.11 结尾语

第8章 查找

8.1 开场白

8.2 查找概论

8.3 顺序表查找

8.3.1 顺序表查找算法

8.3.2 顺序表查找优化

8.4 有序表查找

8.4.1 折半查找

8.4.2 插值查找

8.4.3 斐波那契查找

8.5 线性索引查找

8.5.1 稠密索引

8.5.2 分块索引

8.5.3 倒排索引

8.6 二叉排序树

8.6.1 二叉排序树查找操作

8.6.2 二叉排序树插入操作

8.6.3 二叉排序树删除操作

8.6.4 二叉排序树总结

8.7 平衡二叉树(AVL树)

8.7.1 平衡二叉树实现原理

8.7.2 平衡二叉树实现算法

8.8 多路查找树(B树)

8.8.1 2-3树

8.8.2 2-3-4树

8.8.3 B树

8.8.4 B+树

8.9 散列表查找(哈希表)概述

8.9.1 散列表查找定义

8.9.2 散列表查找步骤

8.10 散列函数的构造方法

8.10.1 直接定址法

8.10.2 数字分析法

8.10.3 平方取中法

8.10.4 折叠法

8.10.5 除留余数法

8.10.6 随机数法

8.11 处理散列冲突的方法

8.11.1 开放定址法

8.11.2 再散列函数法

8.11.3 链地址法

8.11.4 公共溢出区法

8.12 散列表查找实现

8.12.1 散列表查找算法实现

8.12.2 散列表查找性能分析

8.13 总结回顾

8.14 结尾语

第9章 排序

9.1 开场白

9.2 排序的基本概念与分类

9.2.1 排序的稳定性

9.2.2 内排序与外排序

9.2.3 排序用到的结构与函数

9.3 冒泡排序

9.3.1 最简单排序实现

9.3.2 冒泡排序算法

9.3.3 冒泡排序优化

9.3.4 冒泡排序复杂度分析

9.4 简单选择排序

9.4.1 简单选择排序算法

9.4.2 简单选择排序复杂度分析

9.5 直接插入排序

9.5.1 直接插入排序算法

9.5.2 直接插入排序复杂度分析

9.6 希尔排序

9.6.1 希尔排序原理

9.6.2 希尔排序算法

9.6.3 希尔排序复杂度分析

9.7 堆排序

9.7.1 堆排序算法

9.7.2 堆排序复杂度分析

9.8 归并排序

9.8.1 归并排序算法

9.8.2 归并排序复杂度分析

9.8.3 非递归实现归并排序

9.9 快速排序

9.9.1 快速排序算法

9.9.2 快速排序复杂度分析

9.9.3 快速排序优化

9.10 总结回顾

9.11 结尾语

关键词索引

参考文献

累计评论(0条) 7个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部