数据结构

周凤丽

目录

  • 1 绪论
    • 1.1 数据结构的研究内容
    • 1.2 基本概念和术语
    • 1.3 抽象数据类型的表示和实现
    • 1.4 算法的定义、特性及评价标准
    • 1.5 算法的时间复杂度
    • 1.6 算法的空间复杂度
  • 2 线性表
    • 2.1 线性表的定义和特点
    • 2.2 线性表的类型定义
    • 2.3 线性表的顺序表示和实现
    • 2.4 单链表的表示和实现
    • 2.5 循环链表的表示和实现
    • 2.6 双向链表的表示和实现
    • 2.7 顺序表和链表的比较
  • 3 栈和队列
    • 3.1 栈和队列的定义和特点
    • 3.2 栈的表示和操作的实现
    • 3.3 队列的表示和操作的实现
  • 4 串、数组和广义表
    • 4.1 串的定义
    • 4.2 串的顺序存储
    • 4.3 串的链式存储
    • 4.4 数组的定义与顺序存储
    • 4.5 特殊矩阵的压缩存储
    • 4.6 广义表
  • 5 树和二叉树
    • 5.1 树和二叉树的定义
    • 5.2 二叉树的性质和存储结构
    • 5.3 遍历二叉树和线索二叉树
    • 5.4 树和森林
    • 5.5 哈夫曼树及其应用
  • 6 图
    • 6.1 图的定义及常见术语
    • 6.2 图的存储结构
    • 6.3 图的遍历
    • 6.4 最小生成树
  • 7 查找
    • 7.1 查找的基本概念
    • 7.2 线性表的查找
    • 7.3 树表的查找
    • 7.4 散列表的查找(上)
    • 7.5 散列表的查找(下)
  • 8 排序
    • 8.1 排序基本概念和排序方法概述
    • 8.2 插入排序(上)
    • 8.3 插入排序(下)
    • 8.4 交换排序
    • 8.5 选择排序(上)
    • 8.6 选择排序(下)
    • 8.7 归并排序
    • 8.8 基数排序
  • 9 算法案例
    • 9.1 深度优先遍历求解迷宫问题
    • 9.2 广度优先遍历求解迷宫问题
    • 9.3 最短路径
    • 9.4 链表逆序
    • 9.5 约瑟夫环
    • 9.6 侧面观察二叉树
    • 9.7 合法的出栈序列
    • 9.8 链表求交点
    • 9.9 射击气球
    • 9.10 跳跃游戏
    • 9.11 重复的DNA序列
    • 9.12 最近的公共祖先
侧面观察二叉树