【软考学习】第四章——数据结构与算法设计

来源:互联网 发布:淘宝店铺会员设置折扣 编辑:程序博客网 时间:2024/05/20 06:54
【背景】
软考中非常重要的一部分知识,不总结的话,会感觉自己白学了。

【内容】

数据结构与算法设计

  • 数据结构基础与线性表
    • 数组
      • 一维数组
      • 二维数组
      • 三维数组
    • 稀疏矩阵
      • 三元组数组
      • 十字链表
    • 线性表
      • 顺序表
        • 优点
          • 能随机存取线性表中的任何一个结点
        • 缺点
          • 数组大小固定,不利于任意增减
          • 插入、删除结点时要移动其他元素
      • 链表
        • 单链表
        • 循环链表
        • 双链表
        • 顺序表与链表的比较
          • 空间性能
            • 存储密度
            • 容量分配
          • 时间性能
            • 定位运算
            • 读运算
            • 插入运算
            • 删除运算
        • 队列
          • 先进先出
          • 顺序存储
          • 链式存储
          • 先进后出
          • 顺序存储
          • 链式存储
        • 字符串
          • 统计字符串中有效字符的个数
          • 把一个字符串内容复制到另一个字符串中
          • 把一个字符串内容链接到另一个足够大的字符串的末尾
          • 在一个字符串中查找另一个字符串或字符
          • 按字典顺序比较两个字符串的大小
  • 广义表
    • 递归形式定义
  • 树与二叉树
    • 概念
      • 非线性数据结构
    • 条件
      • 有一个特定结点叫根结点
      • 其余结点分为m个互不相交的有限集合
    • 树的遍历
      • 前序遍历
        • 根左右
      • 后序遍历
        • 左右根
      • 中序遍历
        • 左根右
    • 二叉树的概念
      • 定义
        • 一个有限的结点集合
      • 满二叉树
      • 完全二叉树
      • 重要特性
    • 二叉树的遍历
      • 前序
      • 中序
      • 后序
    • 二叉查找树
    • 平衡二叉树
      • 定义
        • 树中的任一结点的左右子树的高度都大致相同
    • 线索二叉树
    • 哈夫曼树
      • 树的路径长度
      • 带权路径长度
      • 树的带树路径长度
    • 相关概念
      • 有向图
        • 边(弧)
      • 无向图
      • 无向完全图
      • 有向完全图
      • 连通图
    • 存储结构
      • 邻接矩阵表示法
      • 邻接表表示法
    • 遍历
      • 深度优先
      • 广度优先
    • 最小生成树
      • Prim算法
      • Kruskal算法
  • 算法基础
    • 算法基础特性
      • 有穷性
      • 确定性
      • 输入
      • 输出
      • 可行性
    • 算法复杂度分析
      • 时间复杂度
      • 空间复杂度
    • 迭代法
    • 穷举搜索法
    • 递归法
      • 定义
      • 使用递推条件
        • 递推应有终止的时候
        • “简单问题”表示离递推终止条件更为接近的问题
      • 使用回归条件
        • 当递归到原问题的解时,算法
        • 有时回归到原问题以得到问题解,回归并不引起其他动作
      • 用途
        • 图的深度优先搜索
        • 二叉树的前序、中序和后序遍历
    • 递推法
    • 回溯法
    • 贪婪法
    • 分治法
      • 特征
        • 该问题的规模缩小到一定的程度就可以容易的解决
        • 该问题可以分解为若干个规模较小的相同问题,即该问题
      • 步骤
        • 分解
        • 解决
        • 合并
    • 动态规划法
      • 特点
        • 可以划分为若干个阶段,问题的求解过程就是对若干个
  • 排序与查找
    • 插入排序
      • 直接插入排序
      • 希尔排序
    • 选择排序
      • 直接选择排序
      • 堆排序
    • 交换排序
      • 冒泡排序
      • 快速排序
    • 归并排序
    • 基数排序
    • 排序算法的稳定性和复杂性
    • 顺序查找
    • 二分查找法
    • 散列表
      • 线性探查法
      • 双散列函数法