随笔分类 - 数据结构
数据结构知识整理
摘要:front指向队头元素的前一个元素,raer指向队尾元素 (写题时,只是单说循环单链表的,默认就是这种) 判断空满 队空 : front = rear; 入队: rear = (rear+1)%MaxSize; queue rear = x; 堆满时: front == (rear + 1 )%Ma
阅读全文
摘要:一、树的常考性质 考点一:结点数=总度数+1 (总度数/树的度:总分支数 结点的度:有几个孩子/分支) 考点二:度为m的树和m叉度的关系: 度为m的树m叉树 至少有一个结点度=m 允许所有结点的度都小于m 一定是非空树,至少有m+1个结点 可以是空树 任意结点的度<=m(最多有m个孩子) 任意结点的
阅读全文
摘要:图按照有无方向分为无向图和有向图。 无向图由定点和边构成。 有向图由定点和弧构成,弧有弧尾和弧头之分。 如果任意两个顶点之间都存在边叫做完全图。 无向的叫做无向完全图。 有向的叫做有向完全图。 图按照边或弧的多少分为稀疏图和稠密图。 都是相对而言的多少。 若无重复的变到自身的边叫做简单图。 反例:下
阅读全文
摘要:安全函数,这里面涉及到了一种漏洞攻击,缓冲区溢出攻击。 缓冲区溢出是指当计算机向缓冲区内填充数据位数时超过了缓冲区本身的容量,溢出的数据覆盖在合法数据上。理想的情况是:程序会检查数据长度,而且并不允许输入超过缓冲区长度的字符。但是绝大多数程序都会假设数据长度总是与所分配的储存空间相匹配,这就为缓冲区
阅读全文
摘要:前言C语言中,整型、单精度型、双精度型和字符型数据可以进行混合运算。字符型数据可以得与整型通用。例如: 100+′A′+8. . 65-2456. 75×′a′ 是一个合法的运算表达式。在进行运算时,不同类型的数据要先转换成同一类型,然后再进行运算。C语言数据类型转换可以归纳成三种转换方式:自动转换
阅读全文
摘要:基本数据类型的sizeof 基本类型包括:bool ,char, short, int, long ,long long,float,double32位编译器指针都是4位 数据类型大小 bool 1 char 1 short 2 int 4 long 4 long long 8 float 4 do
阅读全文
摘要:1、单链表定义 链表是通过一组任意的存储单元来存储线性表中的数据元素,这些存储单元可以是连续的也可以是不连续的。 指针:通常使用“头指针”来标识一个链表,如单链表L,头指针为NULL的时表示一个空链表。链表非空时,头指针指向的是第一个结点的存储位置。 头结点:在单链表的第一个结点之前附加一个结点,称
阅读全文
摘要:AVL 树是一种平衡二叉树,得名于其发明者的名字( Adelson-Velskii 以及 Landis)。(可见名字长的好处,命名都能多占一个字母出来)。平衡二叉树递归定义如下: 左右子树的高度差小于等于 1。 其每一个子树均为平衡二叉树。 基于这一句话,我们就可以进行判断其一棵树是否为平衡二叉了。
阅读全文
摘要:1、AVL树(平衡二叉树)的定义 平衡二叉树 全称叫做 平衡二叉搜索(排序)树,简称 AVL树。英文:Balanced Binary Tree (BBT),注:二叉查找树(BST) AVL 什么意思 ?AVL 是大学教授 G.M. Adelson-Velsky 和 E.M. Landis 名称的缩写
阅读全文
摘要:一、成树、森林转换为二叉树 树转化成二叉树的步骤: 树中所有相邻兄弟结点之间加一条线 对树中的每个结点只保留它与长子之间的连线,删除与其他孩子之间的连线 以树的根结点为轴心,将整棵树顺时针转动,使之结构层次分明 图例: 森林转化成二叉树的步骤: 将森林中的每棵树转化成相应的二叉树 第一颗二叉树不动,
阅读全文
摘要:王道-关键路径课件总结 知识点 若关键活动耗时增加,则整个工程的工期将增长 缩短关键活动的时间,可以缩短整个工程的工期 当缩短到一定程度时,关键活动可能会变成非关键活动 求所有事件的最早发生时间 ve : 取权值最大的一路 ve(k): max{ 前节点的ve +权值(从这个前节点到k节点的路径的权
阅读全文
摘要:AOE网络的基本概念 AOE网络。如果对于有向无环图(DAG),用有向边表示一个工程的各项活动(activity),边上的权值表示活动的持续时间(duration),用顶点表示事件(event),那么这种DAG被称为边表示活动的网络(Activity On Edges),简称AOE网络。 关键路径
阅读全文
摘要:在图论中,拓扑排序(Topological Sorting)是一个有向无环图(DAG, Directed Acyclic Graph)的所有顶点的线性序列。且该序列必须满足下面两个条件: 每个顶点出现且只出现一次。 若存在一条从顶点 A 到顶点 B 的路径,那么在序列中顶点 A 出现在顶点 B 的前
阅读全文
摘要:哈夫曼树相关的几个名词 路径:在一棵树中,一个结点到另一个结点之间的通路,称为路径。图 1 中,从根结点到结点 a 之间的通路就是一条路径。路径长度:在一条路径中,每经过一个结点,路径长度都要加 1 。例如在一棵树中,规定根结点所在层数为1层,那么从根结点到第 i 层结点的路径长度为 i - 1 。
阅读全文
摘要:在无向图中, 若从顶点v1到顶点v2有路径, 则称顶点v1与v2是连通的。如果图中任意一对顶点都是连通的,则称此图是连通图。 强连通和弱连通的概念只在有向图中存在。 强连通图:在有向图中, 若对于每一对顶点v1和v2, 都存在一条从v1到v2和从v2到v1的路径,则称此图是强连通图。 弱连通图:将有
阅读全文
摘要:. 排序算法时间复杂度稳定:如果a原本在b前面,而a=b,排序之后a仍然在b的前面;不稳定:如果a原本在b的前面,而a=b,排序之后a可能会出现在b的后面;内排序:所有排序操作都在内存中完成;外排序:由于数据太大,因此把数据放在磁盘中,而排序通过磁盘和内存的数据传输才能进行;时间复杂度: 一个算法执
阅读全文
摘要:什么是B-树? B-树,有时又写为B_树(其中的“-”或者“_”只是连字符,并不读作“B减树”),一颗 m 阶的 B-树,或者本身是空树,否则必须满足以下特性: 树中每个结点至多有 m 棵子树; 若根结点不是叶子结点,则至少有两棵子树; 除根之外的所有非终端结点至少有棵子树; 所有的非终端结点中包含
阅读全文
摘要:广义表((a,b),c,d)表头和表尾分别是什么? 公式: (1)表头:当广义表LS非空时,称第一个元素为LS的表头; (2)表尾:称广义表LS中除去表头后其余元素组成的广义表为LS的表尾。 区别: 表头是元素,表尾是广义表。 举个栗子。 广义表(a, (b))的表头是单元素a,表尾是广义表((b)
阅读全文
摘要:1、为什么会引入循环队列? 对于顺序队列,头指针和尾指针开始时刻都指向数组的0下标元素。当加入新元素以后,尾指针向后移动,指向最后一个元素的下一个位置。 但是尾指针不能超过数组的最大范围。当有元素删除时,头指针向后移动。但是头指针不能低于数组的0下标。这样就会引入一种“假溢出”现象, 数组中存在空余
阅读全文