摘要: KMP算法 const static int MAXN = 105; int next_array[MAXN]; void getNextArray(string pattern) { int j = -1; next_array[0] = -1; for (int i = 1; i < patte 阅读全文
posted @ 2021-03-16 20:45 dream_fu 阅读(53) 评论(0) 推荐(0) 编辑
摘要: 1,单链表分为带头结点和不带头结点,带头节点的好处,只有实际写代码后才能体会出来。可以类比顺序表中的哨兵 好处: 1,第1个位置的插入、删除更加方便,带来操作上的统一。 2,对于头插法: 不带头结点的链表,插入第一个结点时,需要特殊处理,删除操作类似. 3,优势2:统一空表和非空表的处理 举例:无头 阅读全文
posted @ 2020-07-24 14:18 dream_fu 阅读(275) 评论(0) 推荐(0) 编辑
摘要: 1,邻接矩阵表示方法 #define MaxVertexNum 10 typedef char VertexType; typedef int EdgeType; typedef struct{ VertexType Vex[MaxVertexNum]; EdgeType Edge[MaxVerte 阅读全文
posted @ 2020-07-22 21:56 dream_fu 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 1,由平衡二叉树(AVL)的定义可知,左右子树的高度差绝对值不超过1,当插入一个新的元素时极有可能破坏原有的平衡性。 2,平衡调整算法: a,LL平衡旋转:结点A的左孩子的左子树上插入新结点,导致A失衡。需要将树右旋调整。选取三个结点的中值,将其放中间,开始调整。 b,RR平衡旋转:结点A的右孩子的 阅读全文
posted @ 2020-07-20 20:57 dream_fu 阅读(589) 评论(0) 推荐(0) 编辑
摘要: 平均查找长度ASL (Average Search Length)定义为: pi代表每个结点的概率,ci代表查找所需要比较的次数。 1,顺序查找: ASL查找成功=(n+1)/2 ASL查找失败=(n) 2,二分查找: ASL查找成功=log2(n+1)-1 题型:根据给出的树,计算成功查找的ASL 阅读全文
posted @ 2020-07-20 15:22 dream_fu 阅读(1037) 评论(0) 推荐(0) 编辑
摘要: 树的遍历: 1,前序遍历 void PreOrderTraversal(BinTree T){ BinTree T_temp = T; stack<TreeNode*> sta; while(T_temp || !sta.empty()){ while(T_temp){ Print_elm(T_te 阅读全文
posted @ 2020-07-19 17:57 dream_fu 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 1,顺序查找 #include <bits/stdc++.h> using namespace std; #define MaxSize 100 struct ElementType{ string name; int age; }; typedef struct Node* List; struc 阅读全文
posted @ 2020-07-19 15:16 dream_fu 阅读(130) 评论(0) 推荐(0) 编辑
摘要: 1.堆栈(stack),其实就是堆,为什么加堆,我查了了一下,似乎是历史原因,在栈的实现时,内存中的资源分配是以堆的逻辑分配的(使用malloc函数申请内存时),故叫堆栈,其实我们研究其栈的主要性质就可以了,内存中的分配是操作系统和计算机组成原理研究的问题。 2.栈的主要思想就是后进先出,与之相关的 阅读全文
posted @ 2020-07-18 22:51 dream_fu 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 考研中经常遇到大端存储和小端存储的问题,主要是在计算机组成原理的的指令结构 1.大端存储: 高位字节存储在低位地址中,地位字节存储在高位地址中。大端存储更符合人类思维。 2.小端存储 高位字节存储在高位地址中,低位字节存储在地位地址中 a,弄清楚高位字节和低位字节: String a="abcd"; 阅读全文
posted @ 2020-07-18 21:59 dream_fu 阅读(335) 评论(0) 推荐(0) 编辑
摘要: 1,线性表并不等于数组,线性表可以通过数组实现也可以通过链表实现,它是ADT的一种,除了包含数据,也包含对这些数据的处理(可以理解为函数)。 2,它像类一样封装,就像理解操作系统中的管道。 考点: 1,线性表分为顺序表和链表,要熟悉相关的基本操作,进而组合实现出复杂的操作。 2,主要是算法设计题,结 阅读全文
posted @ 2020-07-18 18:29 dream_fu 阅读(126) 评论(0) 推荐(0) 编辑