数据结构与算法思想

数组与矩阵

数组

在这里插入图片描述

稀疏矩阵

  • 记公式

在这里插入图片描述

  • 面对考试使用代入法,将矩阵中的数值代入选项的公式中,排除掉错误答案
  • 例如:A0.0应该存储在数组的M[1]中,所以将i=0,j=0代入,应该得到M[1],以此类推,再代入其他值。

在这里插入图片描述

线性表

在这里插入图片描述

顺序表

  • 采取一维数组的方式存取信息,开辟一堆连续的空间

链表

  • 将一堆离散的空间连起来,这就是每个节点中指针域的作用。存储的是下一个元素的内存地址。

在这里插入图片描述

顺序存储与链式存储对比

在这里插入图片描述

队列

  • 循环队列 由于队空队满的条件都一样,容易造成混淆,所以想出来一个办法,循环队列少存一个元素,就是尾指针指向的是头指针。

在这里插入图片描述

  • 后进先出
  • 注意栈空栈满的条件

广义表

  • 求广义表的长度和深度

在这里插入图片描述

树与二叉树

在这里插入图片描述

树的遍历

在这里插入图片描述

反向构造二叉树

在这里插入图片描述

树转二叉树

在这里插入图片描述

查找二叉树(排序二叉树)

在这里插入图片描述

最优二叉树(哈弗曼树)

  • 常用于编码,无损压缩
  • 带权路径长度wpl=叶结点的值 x(此节点到根节点的距离)
  • wpl最小的时候,就是最优二叉树
  • 如何构造哈弗曼树

在这里插入图片描述

线索二叉树

  • 由于在二叉树中有很多结点属于空闲状态,有很多指针没有利用起来,
  • 左子树的指针指向(前/中/后)序遍历的前驱结点
  • 右子树的指针指向(前/中/后)序遍历的后驱结点

在这里插入图片描述

平衡二叉树

  • 在之前的排序二叉树中发现,同样的序列,排序二叉树可能有多颗,形态不一样,这也是提出平衡二叉树的原因,一颗二叉树越平衡,他的查找效率越高

在这里插入图片描述

图的概念

在这里插入图片描述

图的存储–邻接矩阵

在这里插入图片描述

图的存储–邻接表

在这里插入图片描述

图的遍历

在这里插入图片描述

拓补排序

  • 实质是用一个序列来表达一个图当中,哪些事件可以先执行,哪些事件可以后执行。
    拓补排序可能产生多个序列,考试中常遇到哪些说明下面哪些不是拓补排序的序列。
    在这里插入图片描述

图的最小生成树

  • 将图中,很多的线,边,去掉,只留下若干条边,然后连起来
  • 普里姆算法 从一个红点出发,选择他可以达到的权最小的那一个点,将那个点也归为红点,一步一步扩展,需要注意的是,不能形成一个环。

在这里插入图片描述

  • 克鲁斯卡尔算法
    看需要选几条边,比如说五条边,那么就从权值最小的中选区这些边,达到五条,就不再选了,将这五条变连接起来,也要注意的是,不能构成一个环。

在这里插入图片描述

算法的特性

在这里插入图片描述

时空复杂度

散列表

在这里插入图片描述

排序算法

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值