【软考】 8 数据结构

线性结构

每个元素最多只有一个出度和一个入度

  • 顺序表、链表
  • 栈、队列
  • 串、KMP
  • 数组
  • 矩阵、特殊矩阵(对称矩阵、对角矩阵、三角矩阵)、稀疏矩阵(使用三元组存储)
  • 广义表:0个或多个氮元素或子表组成的有限序列
    • 长度:最外层包含的元素的个数,空表长度为0
    • 深度:递归定义的重数为广义表的深度,即定义中括号的重数(原子的深度为0,空表的深度为1)
    • 表头:广义表的第一个表元素,可以是子表也可以是单元素
    • 表尾:除了第一个表元素之外的其他所有表元素构成的表
      • 非空广义表的表尾一定是一个表,即使表尾是单元素

  • 二叉树
    • 第i层最多有 2 i − 1 2^{i-1} 2i1个节点
    • 高度为k的二叉树最多有 2 k − 1 2^k-1 2k1个节点
    • n 0 = n 2 + 1 n_0 = n_2 + 1 n0=n2+1
    • 具有n个节点的完全二叉树的深度为 ⌊ l o g 2 n ⌋ + 1 \lfloor log_2n\rfloor+1 log2n+1
    • 从1开始对二叉树节点编号,则:
      • i > 1 i>1 i>1,双亲为 ⌊ i 2 ⌋ \lfloor\frac{i}{2}\rfloor 2i
      • 2 i > n 2i>n 2i>n则i无左孩子,否则左孩子为 2 i 2i 2i
      • 2 i + 1 > n 2i+1>n 2i+1>n则无右孩子,否则右孩子为 2 i + 1 2i+1 2i+1
  • 线索二叉树
    • t a g = 0 tag=0 tag=0说明指向的是左节点,否则指向直接前驱/后继(根据要求的遍历方式)
  • 哈夫曼树
    • 带权路径长度
  • 根据遍历构造原二叉树

  • 邻接矩阵
  • 邻接表
  • DFS、BFS
  • 最小生成树
    • Prim算法:从任意顶点出发,找出邻接的权值最小的边,此边的另一个节点自动加入树集合,然后从这个树集合的所有顶点中找出与其邻接的边全职最小的,再继续加入树集合
    • Kruscal算法:选取权值最小的n-1条边,每次选边检查是否会生成环路
  • 拓扑排序
    • AOV网:每次寻找入度为0的点执行

算法

有穷性、确定性、可行性、输入、输出

时间复杂度

log一般出现在查找二叉树的算法中

查找

  • 顺序查找
  • 二分查找:无脑舍法
  • 哈希
    • 解决冲突:线性探测、伪随机数法、再散列法

排序

  • 直接插入排序: O ( n 2 ) O(n^2) O(n2)
  • 希尔排序:增量序列排序,不稳定 O ( n 1.3 − O ( n 2 ) ) O(n^{1.3} - O(n^2)) O(n1.3O(n2))
  • 直接选择排序:不稳定 O ( n 2 ) O(n^2) O(n2)
  • 堆排序:不稳定 O ( n l o g 2 n ) − O ( n l o g 2 n ) O(n log_2 n) - O(n log_2 n) O(nlog2n)O(nlog2n)
  • 冒泡排序: O ( n 2 ) O(n^2) O(n2)
  • 快速排序:选轴,小于轴大于轴,然后递归,不稳定, O ( n l o g 2 n ) − O ( n 2 ) O(n log_2 n) - O(n^2) O(nlog2n)O(n2)
  • 归并排序: O ( n l o g 2 n ) − O ( n l o g 2 n ) O(n log_2 n) - O(n log_2 n) O(nlog2n)O(nlog2n)
  • 基数排序: O ( d ( r + n ) ) − O ( d ( r + n ) ) O(d(r+n)) - O(d(r+n)) O(d(r+n))O(d(r+n))

算法思想

  • 分治:递归
  • 回溯:回溯剪枝
  • 动态规划
  • 贪心
  • 分支限界
  • 概率算法:允许结果以较小的概率出现错误,使运行速度大幅减小,要知道出错的概率
    • 数值概率算法:数值问题的求解
    • 蒙特卡洛算法:求问题的精确解
    • 拉斯维加斯算法:不会得到不正确的解
    • 舍伍德算法:总能求得问题的一个正确解
  • 近似算法:放弃最优解,使用近似最优解代替,要知道与最优解的差别或比例的界限
  • 数据挖掘算法:
    • 分类:有监督,根据历史数据预测未来数据的模型
      • 步骤:学习模型、应用模型
      • 算法:
        • 决策树归纳(自顶向下的递归树算法)
        • 朴素贝叶斯算法
        • 反向传播BP
        • 支持向量机SVM
      • 应用:频繁模式和关联规则挖掘
    • 回归
    • 关联规则
    • 聚类:
      • 无监督
  • 智能优化算法:
    • 人工神经网络ANN、深度学习DL:抽象人脑
    • 遗传算法GA
    • 模拟退火算法SA:加温、等温、冷却
    • 禁忌搜索TS:模拟人类智力过程的全局搜索,从一个初始可行解出发选择一系列特定搜索方向进行试探
    • 蚁群算法:高浓度信息素
    • 粒子群算法PSO:每个粒子跟踪两个极值更新自己:一个是本身找到的最优解,一个是整个种群或附近的邻居找到的最优解
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值