随笔分类 - 数据结构
摘要:看了一个朋友腾讯面试的一面题目里面,问了static和普通变量的区别,发现自己竟然也不清楚,平时还得多补一下基础啊。。 全局变量(外部变量)的说明之前再冠以static 就构成了静态的全局变量。全局变量本身就是静态存储方式, 静态全局变量当然也是静态存储方式。这两者在存储方式上并无不同。这两者的区别
阅读全文
摘要:设正文串长度为n,模式串长度为m,则串匹配的KMP算法的时间复杂度为_____________。 【答案】O(m+n) 【解析】朴素的模式匹配(Brute-Force)时间复杂度是O(m*n),KMP算法有一定改进,时间复杂度达到O(m+n)。 若查找表中的记录按关键字的大小顺序存放在一个一维数组中
阅读全文
摘要:m阶B-树其树中每个节点至多有m棵子树,若根节点不是叶子节点则至少有两棵子树,除根之外的所有非终端节点至少有m/2(向上取整)棵子树。 B树的阶数是认为规定的,它不因当前树中的最大分支的变化而变化,每个节点是固定长度的数组
阅读全文
摘要:1.对长度为4的顺序表进行查找,若第一个元素的概率为1/8,第二个元素的概率为1/4,第三个元素的概率为3/8,第四个元素的概率为1/4,则查找任一个元素的平均查找长度为( ) A)11/8 B)7/4 C)9/4 D)11/4 【答案】C 【解析】对顺序表查找,ASL= ,代入题目得:ASL=4*
阅读全文
摘要:在散列函数H(key)=key%p中,p应取_____________。 【答案】素数 哈希函数的几种构造方法 直接定址法所得地址集合和关键字集合的大小不一定相同。(X) 一定相同 处理冲突的方法 哈希表的性能 13.假定有k个关键字互为同义词,若用线性探测法把这些同义词存入散列表中,至少要进行__
阅读全文
摘要:设森林F中有三棵树,第一,第二,第三棵树的结点个数分别为M1,M2和M3。与森林F对应的二叉树根结点的右子树上的结点个数是( ) A)M1 B)M1+M2 C)M3 D)M2+M3 【答案】D 【解析】当森林转化为对应的二叉树时,二叉树的根结点及其左子树是由森林的第一棵树转化而来,二叉树的右子树是由
阅读全文
摘要:满二叉树:深度为k且有2k-1个节点的二叉树,这种树的特点是每一层上的节点数都是最大节点数 完全二叉树:深度为k,有n个节点的二叉树,叶子结点只在最大两层上出现,左子树深度与右子树深度相等或大1,当且仅当其每一个节点都与深度为k的满二叉树中从编号1至n的结点一一对应时,就是完全二叉树 1.二叉树是度
阅读全文
摘要:AOE-网,顶点表示事件,弧表示活动,权表示活动持续的时间。 路径长度最长的路径称为关键路径 步骤:先求最早发生时间然后求最晚发生时间,二者相等的活动为关键路径上的活动 求最早发生时间是用拓扑排序,ve要选较大的,例如图中选到ve(4)时,应该选红线还是黄线呢?ve(1)+1=4 ve(2)+3=7
阅读全文
摘要:连通图:若中任意两个不同的顶点和都连通(即有路径),则称为连通图(Connected Graph)。 连通分量:无向图G的极大连通子图称为G的连通分量( Connected Component)。任何连通图的连通分量只有一个,即是其自身,非连通的无向图有多个连通分量。 强连通图:有向图中,若对于中任
阅读全文
摘要:拓扑排序:从某个集合上的一个偏序得到该集合上的一个全序,这个操作称之为拓扑排序。 AOV-网,用顶点表示活动,用弧表示活动间的优先关系的有向图,不应该出现有向环,存在有向环意味着某项活动应以自己为先决条件,这是荒谬的。 记住三句话: 1.从有向图中选择一个入度为0的点输出 2.删除1中的顶点,并删除
阅读全文
摘要:问题引出:无向图中,例如A0-A1这条边,如红色框所示,其实他们说明的是同一个信息,但是开了两个空间就浪费了 于是考虑用一个方向来明确出一条边,邻接多重表是无向图的另一种链式存储结构,它与十字链表非常类似 例如:从A0出发有边0-1,边3-0,边0-2 ,注意空所放的位置,是对应节点的后面如图中红色
阅读全文
摘要:十字链表是有向图的另一种链式存储结构 从A4出发有两条边4-3 4-2 出边连完,然后就连入边,以A0为例,它有两条入边2-0,3-0,我们先连2-0 然后从2-0的nextIn又指向3-0的nextIn,又A0只有两条入边,故3-0的nextIn为空
阅读全文
摘要:邻接表后面的表存放的是该节点所指向的终点,例如A4指向的终点是A2,A3,故A4后面跟的是2,3 逆邻接表存放的是指向该节点的节点,例如:A2,A3指向A0,则A0后面跟的是2,3
阅读全文
摘要:初始化 只有set[0]为1 也就是只有0并入了set中 然后从dist中找到了一条最小的4,其节点为1,将1并入set,并入1以后,更新dist 按这个原理循环,将所有的点都并入set中,最终得到顶点0到其它顶点的最短路径dist[ ],若要得到0到某个顶点i的最短路径,只需找path[i],例如
阅读全文
摘要:字符串匹配KMP KMP过程其实就是去找下一个更好的状态的过程,省略去了中间穷举的无用过程,直接跳到下一个更好的状态,通过模式串本身的信息,站在模式串的角度来考虑问题 取长的一对 若想让模式串直接从Sk状态跳到Sk+1状态,那就要找到一个j使指针跳到那个状态,而主串中的i保持不变,也就是i不需要回溯
阅读全文
摘要:题目描述 层次遍历二叉树,是从根结点开始遍历,按层次次序“自上而下,从左至右”访问树中的各结点。 建树方法采用“先序遍历+空树用0表示”的方法 要求:采用队列对象实现,函数框架如下: 输入 层次遍历二叉树,是从根结点开始遍历,按层次次序“自上而下,从左至右”访问树中的各结点。 建树方法采用“先序遍历
阅读全文
摘要:题目描述 根据输入创建无向网。分别用Prim算法和Kruskal算法构建最小生成树。(假设:输入数据的最小生成树唯一。) 根据输入创建无向网。分别用Prim算法和Kruskal算法构建最小生成树。(假设:输入数据的最小生成树唯一。) 输入 顶点数n n个顶点 边数m m条边信息,格式为:顶点1 顶点
阅读全文
摘要:题目描述 给定一个图的邻接矩阵,请判断该图是否是连通图。连通图:任意两个顶点之间都有路径。 输入 第1行输入一个整数k,表示有k个测试数据 第2行输入一个整数n,表示有n个结点 从第3行起到第n+2行输入一个邻接矩阵,其中Matrix[i,j]=1表示第i,j个结点之间有边,否则不存在边。 接下来是
阅读全文
摘要:题目描述 给出一个数据序列,建立哈希表,采用求余法作为哈希函数,模数为11,哈希冲突用链地址法和表尾插入 如果首次查找失败,就把数据插入到相应的位置中 实现哈希查找与增补功能 给出一个数据序列,建立哈希表,采用求余法作为哈希函数,模数为11,哈希冲突用链地址法和表尾插入 如果首次查找失败,就把数据插
阅读全文
摘要:题目描述 定义哈希函数为H(key) = key%11。输入表长(大于、等于11),输入关键字集合,用线性探测再散列构建哈希表,并查找给定关键字。 --程序要求-- 若使用C++只能include一个头文件iostream;若使用C语言只能include一个头文件stdio 程序中若include多
阅读全文

浙公网安备 33010602011771号