1-数据结构

Posted 兔子只吃胡萝卜

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1-数据结构相关的知识,希望对你有一定的参考价值。

技术分享

技术分享

技术分享

此类题目最好的解决方法就是使用例子

 

  1. 首先由题目知道,这是一个循环队列,循环队列中只有mod才能进行有效的数据存储,所以A D被排除
  2. 由左图知道m是最后一个元素    所以  m = 8
  3. rear表示队尾的实际位置,7的实际位置时8,因为7是队列的第八个数据,则得出rear = 8
  4. length = 8
  5. C B 公式可得  C = 1  B = 0 
  6. 此题目问的是队首元素的实际位置,我们这个队列队首是0,她的实际位置时
  7. 所以此题选择C

节点的度:就是一个节点下分的子节点的个数

1号节点的度为3

8号节点的度为2

树的度:就是该树中最大的节点度

 技术分享

树的遍历(这个我明白)

1. 前序遍历

2. 中序遍历

3. 后序遍历

4. 层次遍历

题目:

技术分享

关于二叉树的常用公式

n 0= n2+1

也就是说,叶子节点数总是比度为2的节点多一个

解题思路:

n (全部节点个数)= n2+n1+n0

767=n2+n1+n0;  带入上边的公式

(768-n1)/2=n0

我们由完全二叉树知道,其实,完全二叉树中度为1的节点,只要两种可能 0个或1个

当n1=1时,n0为小数,不科学,所以n1=0     n0 = 384

树及其二叉树

技术分享

概念:

树的路径长度:将树中所有的路径相加

              例:上图中树的路径长度为6

权:就是给一个节点的特殊概念,就是计算机在这个程序中需要访问的次数

              例:上图中编号为2的节点,权就是2 也就是计算机在这个程序中访问他两次

带权路径长度:就是到达这个节点的路径*权值

              例:上图中编号为2 的节点,带权路径长度为3*2 = 6,

树 的带权路径长度:把所有的节点的带权路径长度相加

最优二叉树(哈夫曼树)

就是树的带权路径长度最小的树

技术分享

技术分享

技术分享

技术分享

技术分享

注意:在此树中,树的带权路径是由所有圆圈节点的带权路径相加的,并不包括方框的节点

那是因为,圆圈才是我们的数据,而方框只是用来进行构建树而出现的,

技术分享

技术分享

叶子节点就是没有子树的节点,由下图可以得出,为5

 技术分享

查找二叉树,二叉排序树

通俗来讲:就是所有节点由左向右依次权值增加

定义:左树为非空时,左树一定比根节点小

         右树为非空时,右树一定比根节点大

技术分享

图的构成:

       G=(V,E)

V:是有限的非空定点集合

E:是边与边之间的集合

图分为有向图和无向图

表示方式:

有向图:<A,B>

无向图:(A,B)

顶点的度:无向图:与顶点与之关联的边

                     有向图:入度和出度

子图:边和节点都在另一个图中存在。

完全图:在无向图中,若每对顶点之间都有一条边相连成为完全图

              有向图:每对顶点之间都有两条有向边相连

路径和回路:

       路径:从一个节点到另一个节点所走的边的个数

       回路:从一个节点出发,最终回到这个节点

              简单回路:除了开始节点和结束节点是相同 的,中间没有相同的节点

连通图和连通分量:

       连通图:图中任意两个节点都可以到达,就是连通图

       连通分量:就是一个总图中,有一小部分是连通的,则他就是总图的连通分量

网络:

       每一个图的节点都有一个权值

技术分享

图的遍历

技术分享

图的最小生成树

普利姆算法:从点着手

克鲁斯卡尔:从边着手

 

AOV网络:

用有向边表示活动之间开始的先后关系

这种有向图称为AOV网络

拓朴排序:

  1. 找入度为0的节点
  2. 将零的出度全部删去
  3. 再持续以上两步,知道该图全部完成

技术分享

上图的拓扑排序有

技术分享

关键路径(重点难点)

        注意:其实就是最长路径

AOE网络

把AOV网上,每一个边,加上一个权值就成为了AOE

 技术分享

关键路径的几个重要概念:

顶点n的最早发生时间:就是从原点到顶点的最长路径长度,记做Ve(n)

        例如:Vk的最早发生时间是7

        原因是,Vk若想启动,需要a4,a5,a6,全部完成,虽然a6+a3=3哥个时间

但是,如果a5,和a4没有完成,则Vk也是没法启动的

活动a的最早开始时间:活动a就是边,是从起点到他上一个顶点的完成时间  记做:e(a)

        例如:a5的最早开始时间是第六时刻,a6的最早开始时间是2

顶点n的最迟发生时间:在不影响工程的情况下Vk    记做:VI(n)

        例如:V3的最迟发生时间是第六时间,因为a6只有1个时间,而且全部工程的最早完成时间是7

即便v3在第六时间完成,他也是可以在vk的最早发生时间完成

活动a的最迟开始时间:记做I(n)

技术分享

上图中:Ve(7)=10;

 

以上是关于1-数据结构的主要内容,如果未能解决你的问题,请参考以下文章

1.19.6.数据类型数据类型列表结构化的数据类型其他数据类型数据类型注解

数据结构

数据库教程的目录

和你一起从零开始学习计算机相关知识 带你走进数据结构

数据结构与算法回顾-1:算法的度量和基本数据结构

数据结构