《趣学数据结构》终于出版了,好事多磨,欢迎大家捧场!

当当:http://product.dangdang.com/27914358.html

京东:https://item.jd.com/12675610.html

产品特色

编辑推荐

(1)完美图解 丰富实例,复杂问题简单化

为基本操作配以图解,用数据结构解决生活中的实际问题,学习过程更加轻松有趣。

(2)原理分析 实战演练,真正地学以致用

通俗化讲解基础知识,在实战中体会数据结构的设计和操作,锻炼独立思考的能力。

(3)配套代码 在线答疑,为学习保驾护航

提供书中的范例程序源代码、练习题以及答案解析,并在博客和QQ群中答疑解惑。

内容简介

本书基于C 语言编写,从趣味故事引入算法复杂性计算及数据结构基础内容,涵盖线性结构、树形结构和图形结构,包括链表、栈和队列、树和图的应用等。本书内容还涉及数据结构的基本应用(包括各种查找、排序等)和高级应用(包括优先队列、并查集、B-树、B 树和红黑树等)。通过大量图解将抽象数据模型简单通俗化,语言表述浅显易懂,并结合有趣的实例帮助读者轻松掌握数据结构。

作者简介

陈小玉,南阳理工学院副教授,高级程序员,研究方向为智能计算、数据挖掘与机器学习,主要讲授“算法设计与分析”和“人工智能”等课程,多次指导学生获得ACM程序设计大赛亚洲区奖项。

目  录

第 1章 数据结构入门 1

1.1 数据结构基础知识 2

1.2 算法复杂度 10

1.3 一棋盘麦子 17

1.4 神奇魔鬼序列 18

1.5 本章要点 23

第 2章 线性表 24

2.5 线性表的应用 55

2.5.1 合并有序顺序表 55

2.5.2 合并有序链表 60

2.5.3 就地逆置单链表 64

2.5.4 查找链表的中间节点 68

2.5.5 删除链表中的重复元素 71

2.6 线性表学习秘籍 75

第3章 栈和队列 78

3.1 顺序栈 79

3.2 链栈 83

3.3 顺序队列 87

3.3.1 顺序队列的定义 88

3.3.2 循环队列的定义 92

3.3.3 循环队列的基本操作 96

3.4 链队列 98

3.5 栈和队列的应用 102

3.5.1 数制的转换 102

3.5.2 回文判定 104

3.5.3 双端队列 106

3.6 栈和队列学习秘籍 116

第4章 字符串 121

4.1 字符串 122

4.2 模式匹配BF算法 124

4.3 模式匹配KMP算法 128

4.4 改进的KMP算法 133

4.5 字符串的应用——病毒检测 135

4.6 字符串学习秘籍 137

第5章 数组与广义表 139

5.1 数组的顺序存储 140

5.2 特殊矩阵的压缩存储 143

5.2.1 对称矩阵 143

5.2.2 三角矩阵 145

5.2.3 对角矩阵 146

5.2.4 稀疏矩阵 150

5.3 广义表 151

5.4 好玩贪吃蛇——数字矩阵 151

5.5 数组与广义表学习秘籍 156

第6章 树 158

6.1 树 159

6.1.1 树的定义 159

6.1.2 树的存储结构 162

6.1.3 树、森林与二叉树的转换 165

6.2 二叉树 167

6.2.1 二叉树的性质 168

6.2.2 二叉树的存储结构 173

6.2.3 二叉树的创建 175

6.3 二叉树的遍历 183

6.3.1 先序遍历 183

6.3.2 中序遍历 186

6.3.3 后序遍历 188

6.3.4 层次遍历 192

6.4 线索二叉树 196

6.4.1 线索二叉树存储结构 196

6.4.2 构造线索二叉树 197

6.4.3 遍历线索二叉树 201

6.5 树和森林的遍历 204

6.5.1 树的遍历 204

6.5.2 森林的遍历 209

6.6 树的应用 212

6.6.1 二叉树的深度 212

6.6.2 二叉树的叶子数 213

6.6.3 三元组创建二叉树 214

6.6.4 遍历序列还原树 218

6.6.5 哈夫曼树 223

6.7 树学习秘籍 239

第7章 图 241

7.1 图的基本术语 242

7.2 图的存储结构 249

7.2.1 邻接矩阵 250

7.2.2 邻接表 256

7.2.3 十字链表 266

7.2.4 邻接多重表 268

7.3 图的遍历 270

7.3.1 广度优先搜索 270

7.3.2 深度优先搜索 275

7.4 图的应用 279

7.4.1 单源最短路径——Dijkstra 279

7.4.2 各顶点之间最短路径——Floyd 287

7.4.3 最小生成树——prim 293

7.4.4 最小生成树——kruskal 305

7.4.5 拓扑排序 308

7.4.6 关键路径 316

7.5 图学习秘籍 324

第8章 查找 327

8.1 线性表查找 328

8.1.1 顺序查找 328

8.1.2 折半查找 330

8.2 树表查找 335

8.2.1 二叉查找树 335

8.2.2 平衡二叉查找树 346

8.3 散列表的查找 361

8.3.1 散列函数 361

8.3.2 处理冲突的方法 364

8.3.3 散列查找及性能分析 376

8.4 查找学习秘籍 378

第9章 排序 379

9.1 插入排序 381

9.1.1 直接插入排序 381

9.1.2 希尔排序 387

9.2 交换排序 389

9.2.1 冒泡排序 389

9.2.2 快速排序 392

9.3 选择排序 401

9.3.1 简单选择排序 401

9.3.2 堆排序 403

9.4 合并排序 412

9.5 分配排序 417

9.5.1 桶排序 417

9.5.2 基数排序 418

9.6 排序学习秘籍 421

第 10章 高级数据结构 425

10.1 并查集 426

10.2 优先队列 430

10.2.1 出队 431

10.2.2 入队 433

10.2.3 构建初始堆 435

10.3 B-树 437

10.3.1 树高与性能 439

10.3.2 查找 440

10.3.3 插入 441

10.3.4 删除 444

10.4 B 树 449

10.4.1 查找 450

10.4.2 插入 451

10.4.3 删除 454

10.5 红黑树 457

10.5.1 红黑树的定义 457

10.5.2 树高与性能 458

10.5.3 红黑树与4阶B树 459

10.5.4 查找 460

10.5.5 插入 460

10.5.6 删除 466

10.6 高级数据结构学习秘籍 476

《趣学数据结构》新书预售!相关推荐

  1. 趣学数据结构--第六章:树

    趣学数据结构---->第六章:树 二叉树 线索二叉树 树的应用 二叉树的深度 二叉树的叶子数 二叉树的结点数 三元组创建二叉树 遍历序列还原树 哈夫曼树 二叉树 二叉树的创建(询问创建以及补空创 ...

  2. 趣学数据结构 代码 自用

    program 2-1 sqlist #include<iostream> using namespace std;#define Maxsize 100 //最大空间typedef st ...

  3. 序列复杂度怎么看_《趣学算法》作者又一力作上架,再分享您一篇算法复杂度...

    不知道读者们有没有看过陈小玉的<趣学算法>这本书,该书在出版后受到广大读者一致好评,在一年内重印了10次,并输出了繁体版的版权.不知道读过这本书的朋友们感觉第一本怎么样?欢迎留言给我们.接 ...

  4. 《趣学算法(第2版)》读书笔记 Part 1 :如何高效学习算法

    14天阅读挑战赛 系列笔记链接 <趣学算法(第2版)>读书笔记 Part 1 :如何高效学习算法 <趣学算法(第2版)>读书笔记 Part 2 :算法入门 <趣学算法(第 ...

  5. 学编程为什么要学数据结构?

    招聘搞笑事 如果你关注招聘试题,越是大的公司,问的问题越基础,有的甚至问你什么是栈和队列,反而一些小公司会关心你做过什么系统,关注点不同,大公司更注重基础扎实,发展潜力,而小公司希望你立刻.马上为他干 ...

  6. 趣学算法【第一章:算法之美】感悟(上)

    14天阅读挑战赛 前言 努力是为了不平庸~ 算法学习有些时候是枯燥的,这一次,让我们先人一步,趣学算法! 1.什么是算法,为什么要学习? 其实算法是一个比较模糊的概念,简单来说,算法就是将解决一件事的 ...

  7. [2017.02.21-22] 《Haskell趣学指南 —— Learning You a Haskell for Great Good!》

    {- 2017.02.21-22 <Haskell趣学指南 -- Learning You a Haskell for Great Good!> 学习了Haskell的基本语法,并实现了一 ...

  8. 【趣学算法】第二章 算法之美(下)

    14天阅读挑战赛 [趣学算法]第二章 算法之美(下) 1. 一棋盘的麦子 1.1 题目描述 1.2 题目解析 1.3 爆炸增量函数 称上面的函数(1.2中的第一个函数)为爆炸增量函数. 爆炸函数也就是 ...

  9. 【趣学算法】第一章 算法之美(上)

    14天阅读挑战赛 [趣学算法]第一章 算法之美(上) 文章目录 [趣学算法]第一章 算法之美(上) 1.打开算法之门 2.妙不可言---算法复杂性 2.1 算法的引入 [算法的定义] [算法题] [& ...

最新文章

  1. Python压缩目录文件夹,解压目录文件夹及耗时效率统计
  2. 设计模式C#描述——抽象工厂模式
  3. DataSet RecordSet 互转
  4. DPDK KNI 接口2
  5. 了解一下ES6: 函数简述深浅拷贝
  6. delphi程序项目创建和保存
  7. Power BI for Office 365(八)共享查询
  8. 2019年下半年《软件评测师》上午试卷及答案
  9. springboot实体映射到数据库_SpringBoot 操作 ElasticSearch 详解
  10. ubuntu16.04 安装完显卡驱动后分辨率固定640x480 解决
  11. Linux内核移植入门
  12. 20考研率辉计算机复试(二分法)
  13. SWFUpload学习记录
  14. CTF 每日一题 Day39 达芬奇密码
  15. opencv答题卡识别
  16. 用计算机算e的次方,e的值(万能计算器在线使用)
  17. 打造私人搜书系统之系统设计
  18. 一键解决2K分辨率下ubuntu图标及文字太小问题
  19. 【数据库】数据库恢复技术
  20. Windows下批处理if exist用法的注意事项

热门文章

  1. 计算机动画顺序在哪里设置,Keynote动画顺序怎么设置 Keynote动画顺序设置教程
  2. Dialog showModal() 兼容问题
  3. XCTF_MOBILE5_easy-apk
  4. 程序员必备:高能开发工具(IDE)强势推荐
  5. 碉堡了!程序员用深度学习写了个老板探测器(附源码)
  6. 将form表单提交文件修改为ajax提交
  7. Qt编程入门(2) : 窗口和布局(2)
  8. 使用Redis搭建消息队列(python版)
  9. mysql 添加分区_创建,增加,删除mysql表分区
  10. C++进行迷宫问题求解