2019 408错题

1

设n是描述问题规模额非负整数,下列程序段的时间复杂度是
x=0;
while(n>(x+1)*(x+1))
x=x+1;
O(n^1/2)

循环变量的初值不会影响复杂度的量级,所以循环终止条件可以等效于
x^2<=n,
即x<=n^1/2;
所以时间复杂度为 O(n^1/2)

2

对n个互不相同的符号进行哈夫曼树编码。若生成的哈夫曼树共有115个结点,则n的值是
其实这道题可以举例,如果n为2呢?就是有a和b两个符号,那么哈夫曼树共有3个节点。

3

在任意一棵非空平衡二叉树(AVL树)T1中,删除某节点v之后形成的平衡二叉树T2,再将v插入T2形成平衡二叉树T3.下列关于T1与T3的叙述中,正确的是

平衡二叉树,平衡因子小于等于1
若是丢失了叶节点导致平衡因子失衡,则树不同
若丢失的不是叶节点,那么树有可能变也有可能不变。

4

在带权有向图中,以顶点表示事件,以边上的权值表示完成该活动的开销(如完成活动所需的时间),称之为用边表示活动的网络,简称AOE网。
AOE网和AOV网都是有向无环图,不同之处在于他们的边和顶点所代表的含义是不同的,AOE网中的边有权值,而AOV网中的边无权值,仅表示顶点之间的前后关系。

AOE网具有以下两个性质:
1:只有在某顶点所代表的事件发生后,从该顶点出发的各有向边所代表的活动才能开始。
2:只有在进入某顶点的各有向边所代表的活动都已结束时,该顶点所代表的事件才能发生。

在AOE网中,从源点到汇点的有向路径可能有多条,并且这些路径长度可能不同。完成不同路径上的活动所需的时间虽然不同,但是只有所有路径上的活动都已完成,整个工程才能算结束。因此,从源点到汇点的所有路径中,具有最大路径长度的路径称为关键路径,而把关键路径上的活动称为关键活动。

事件v的最早发生时间:它是指从源点到顶点v的最长路径长度。
事件v的最迟发生时间:它是指在不推迟整个工程完成的前提下,即保证它的后续事件v在其最迟发生时间v能够发生时,该事件最迟必须发生的时间。

5

现有长度为11且初始为空的散列表HT,散列函数是H(key)=key%7,采用线性探查(线性探测再散列)法解决冲突。将关键字序列87,40,30,6,11,22,98,20依次插入到HT后,HT查找失败的平均查找长度是 6

开放定址法,指可存放新表项的空闲地址既向它的同义词表项开放,又向它的非同义词表项开放

拉链法:显然,对于不同的关键字可能会通过散列函数映射到同一地址,为了避免非同义词发生冲突,可以把所有的同义词存储在一个线性链表中,这个线性链表由散列函数唯一地址标识。假设散列地址为i的同义词链表的头指针存放在散列表的第i个单元中,因而查找,插入和删除操作主要在同义词链中进行。拉链法适用于经常进行插入和删除的情况。

从散列表的查找过程可见:
1:虽然散列表在关键字与记录的存储位置之间建立了直接映像,但由于“冲突”的产生,使得散列表的查找过程仍然是一个给定值和关键字进行比较的过程。因此,仍需要以平均查找长度作为衡量散列表的查找效率的度量。
2:散列表的查找效率取决于三个因素:散列函数,处理冲突的方法和装填因子。
装填因子。散列表中的装填因子一般记为a,定义为一个表的装满程度,即
a=表中记录数n/散列表长度m

直观的看,a越大,表示装填的记录越“满”,发生冲突的可能性越大,反之发生冲突的可能性越小。

6

设主串T=“abaabaabcabaabc”,模式串S=“abaabc”,采用KMP算法进行模式比较,到匹配成功时为止,在匹配过程中单个字符间的比较次数为

KMP算法是暴力匹配的升级版
在暴力匹配

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值