作品简介

本书为超级畅销书《大话设计模式》作者程杰潜心三年推出的扛鼎之作!以一个计算机教师教学为场景,讲解数据结构和相关算法的知识。通篇以一种趣味方式来叙述,大量引用了各种各样的生活知识来类比,并充分运用图形语言来体现抽象内容,对数据结构所涉及到的一些经典算法做到逐行分析、多算法比较。与市场上的同类数据结构图书相比,本书内容趣味易读,算法讲解细致深刻,是一本非常适合自学的读物。

一个被读者誉为很适合写IT技术书的家伙。《大话设计模式》作者。此书07年末出版至今已经简体版印刷9次、繁体版印刷6次,取得了较好的成绩,开创了一种适合国人阅读的趣味讲解IT知识的风格模式。其本人参与过政府、证券、游戏、交通等多种行业的软件开发及项目管理工作,也曾做过软件培训的教师。因曾有过两年半高中数学教学的独特经历,使得其书作当中处处以初学者视角考虑和分析问题,他成为了当前很受欢迎的IT技术图书作者之一。

作品目录

  • 内容简介
  • 作者感言
  • 前 言
  • 本书起因
  • 本书定位
  • 本书特色
  • 本书内容
  • 本书读者
  • 本书研读方法
  • 编程语言说明
  • 编程语言差异
  • 不是一个人在战斗
  • 编者的话
  • 第1章 数据结构绪论
  • 1.1 开场白
  • 1.2 你数据结构怎么学的?
  • 1.3 数据结构起源
  • 1.4 基本概念和术语
  • 1.5 逻辑结构与物理结构
  • 1.6 抽象数据类型
  • 1.7 总结回顾
  • 1.8 结尾语
  • 第2章 算法
  • 2.1 开场白
  • 2.2 数据结构与算法关系
  • 2.3 两种算法的比较
  • 2.4 算法定义
  • 2.5 算法的特性
  • 2.6 算法设计的要求
  • 2.7 算法效率的度量方法
  • 2.8 函数的渐近增长
  • 2.9 算法时间复杂度
  • 2.10 常见的时间复杂度
  • 2.11 最坏情况与平均情况
  • 2.12 算法空间复杂度
  • 2.13 总结回顾
  • 2.14 结尾语
  • 第3章 线性表
  • 3.1 开场白
  • 3.2 线性表的定义
  • 3.3 线性表的抽象数据类型
  • 3.4 线性表的顺序存储结构
  • 3.5 顺序存储结构的插入与删除
  • 3.6 线性表的链式存储结构
  • 3.7 单链表的读取
  • 3.8 单链表的插入与删除
  • 3.9 单链表的整表创建
  • 3.10 单链表的整表删除
  • 3.11 单链表结构与顺序存储结构优缺点
  • 3.12 静态链表
  • 3.13 循环链表
  • 3.14 双向链表
  • 3.15 总结回顾
  • 3.16 结尾语
  • 第4章 栈与队列
  • 4.1 开场白
  • 4.2 栈的定义
  • 4.3 栈的抽象数据类型
  • 4.4 栈的顺序存储结构及实现
  • 4.5 两栈共享空间
  • 4.6 栈的链式存储结构及实现
  • 4.7 栈的作用
  • 4.8 栈的应用——递归
  • 4.9 栈的应用——四则运算表达式求值
  • 4.10 队列的定义
  • 4.11 队列的抽象数据类型
  • 4.12 循环队列
  • 4.13 队列的链式存储结构及实现
  • 4.14 总结回顾
  • 4.15 结尾语
  • 第5章 串
  • 5.1 开场白
  • 5.2 串的定义
  • 5.3 串的比较
  • 5.4 串的抽象数据类型
  • 5.5 串的存储结构
  • 5.6 朴素的模式匹配算法
  • 5.7 KMP模式匹配算法
  • 5.8 总结回顾
  • 5.9 结尾语
  • 第6章 树
  • 6.1 开场白
  • 6.2 树的定义
  • 6.3 树的抽象数据类型
  • 6.4 树的存储结构
  • 6.5 二叉树的定义
  • 6.6 二叉树的性质
  • 6.7 二叉树的存储结构
  • 6.8 遍历二叉树
  • 6.9 二叉树的建立
  • 6.10 线索二叉树
  • 6.11 树、森林与二叉树的转换
  • 6.12 赫夫曼树及其应用
  • 6.13 总结回顾
  • 6.14 结尾语
  • 第7章 图
  • 7.1 开场白
  • 7.2 图的定义
  • 7.3 图的抽象数据类型
  • 7.4 图的存储结构
  • 7.5 图的遍历
  • 7.6 最小生成树
  • 7.7 最短路径
  • 7.8 拓扑排序
  • 7.9 关键路径
  • 7.10 总结回顾
  • 7.11 结尾语
  • 第8章 查找
  • 8.1 开场白
  • 8.2 查找概论
  • 8.3 顺序表查找
  • 8.4 有序表查找
  • 8.5 线性索引查找
  • 8.6 二叉排序树
  • 8.7 平衡二叉树(AVL树)
  • 8.8 多路查找树(B树)
  • 8.9 散列表查找(哈希表)概述
  • 8.10 散列函数的构造方法
  • 8.11 处理散列冲突的方法
  • 8.12 散列表查找实现
  • 8.13 总结回顾
  • 8.14 结尾语
  • 第9章 排序
  • 9.1 开场白
  • 9.2 排序的基本概念与分类
  • 9.3 冒泡排序
  • 9.4 简单选择排序
  • 9.5 直接插入排序
  • 9.6 希尔排序
  • 9.7 堆排序
  • 9.8 归并排序
  • 9.9 快速排序
  • 9.10 总结回顾
  • 9.11 结尾语
  • 关键词索引
  • 参考文献
展开全部