- 博客(14)
- 收藏
- 关注
原创 【数据结构基础】位运算
输出结果:10000……00,取反+1得:-2。(忽略符号位)+1:100……补码和原码转换:负数取反+1,正数不变。(忽略符号位)取反:111……输出结果0111……^ : 异或,相同为0,不同为1。无符号整型:0 ~ 2。计算机里记录的是补码。& : 与,全1才1。
2023-01-11 14:55:35 69
原创 第5章 散列查找
设有一组关键字 { 29,01, 13,15,56,20,87,27,69,9,10,74 },散列函数为 H(key)=key%17,采用线性探测方法解决冲突。设有一组关键字 { 29,01, 13,15,56,20,87,27,69,9,10,74 },散列函数为 H(key)=key%17,采用平方探测方法解决冲突。已知线性表的关键字集合 { 21,11, 13,25,48,6,39,83,30,96,108 },散列函数为 h(key)=key%11,采用分离链接法解决冲突。
2022-11-28 10:58:27 1227
原创 第7章 排序
解析:指针停止就会不断交换左右指针的元素,这样虽然多余的交换次数变多,但让子序列的元素相对平均,所以一共有logN次划分,每次时间复杂度是O(N)。给定初始待排序列{ 15,9,7,8,20,-1,4 }。第1次:交换6和1,a[]={1、5、4、6、3、2}第2次:交换5和2,a[]={1、2、4、6、3、5}第3次:交换4和3,a[]={1、2、3、6、4、5}第4次:交换6和4,a[]={1、2、3、4、6、5}第5次:交换6和5,a[]={1、2、3、4、5、6}解析:基本有序排列次数最少。
2022-11-24 14:36:59 352
原创 第6章 图
设无向图为 G=(V,E),其中 V={v1,v2,v3,v4},E={(v1,v2),(v3,v4),(v4,v1),(v2,v3),(v1,v3)}。设无向图为 G=(V,E),其中 V={v1,v2,v3,v4},E={(v1,v2),(v3,v4),(v4,v1),(v2,v3),(v1,v3)}。给出如下图所示的具有 7 个结点的网 G,采用Prim算法,从4号结点开始,给出该网的最小生成树。在一个有权无向图中,如果顶点b到顶点a的最短路径长度是10,顶点c与顶点b之间存在一条长度为3的边。
2022-11-24 13:46:47 1791
原创 第1章 概论
由于我们每次递归都把搜索范围缩小一半,也就是 N/2/2/2⋯ 直到得到1,于是有公式 N/2。N,即递归最多需要 O(logN) 次,占用的空间跟递归的次数成正比,也就是 O(logN)。最大子列和算法 1.3 是用递归实现的,由于递归而产生的空间复杂度是多少?解析:NlogN²=2NlogN,另一个是N²logN,增长速度不一样。解析:斐波那契数列为特殊数列,时间复杂度为O(F。解析:logN²和(logN)²都是O(N)。N²logN和NlogN²具有相同的增长速度。N(logN)²是O(N²)的。
2022-11-10 14:18:01 1009
原创 第4章 树
说法一:除了根节点没有被指针指向,其他的结点都有一个有效指针指向,所以有 n-1个有效指针,空链域=2n- (n-1) =n+1。说法二:n个结点中有n-1条边(除了头结点没有边,其余结点都有一个父结点),剩下的空链域就是2n-(n-1)=n+1个空指针。在一棵度为 3 的树中,度为 2 的结点个数是 1,度为 0 的结点个数是 6,则度为 3 的结点个数是 __若一个结点是某二叉树的中序遍历序列的最后一个结点,则它必是该树的前序遍历序列中的最后一个结点。二叉搜索树的查找和折半查找的时间复杂度相同。
2022-11-09 14:05:29 689
原创 第3章 线性结构
解析:在循环队列中,有过出队情况之后,front不在头位置,当再入队超出数组长度之后,入队的元素会从头开始入队,此时rear值比front小。如果有 1、2、3、4、5 按顺序入栈,不同的堆栈操作(pop, push)顺序可得到不同的堆栈输出序列。若一个栈的输入序列为1,2,3,…,N,输出序列的第一个元素是i,则第j个输出元素是j−i−1。解析:下标从1开始,A[5,5]前面28个元素,每个元素占5个单元。解析:n个元素按顺序入栈,有几种出栈的可能:卡特兰数。解析:同一个入栈顺序,可以有不同的出栈顺序。
2022-11-03 11:00:02 327 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人