牛客习题总结25(6月27日)

在这里插入图片描述

其实算法不同结果也不一样。
1、两两合并链表。合并链表复杂度 * 一次合并次数 * 所有合并次数。两两合并的复杂度会指数递增,合并数会指数递减。一共应该是log(N)次。前面的合并复杂度较高。所以一般不采用该方法来合并链表。
2、利用堆来合并,( O(N) + O(log N * N )) * M。
先利用最链表第一个数,N个数建立堆,复杂度 O (N)
重构堆,并排序,复杂度 O(logN * N )
每个链表M个数,上述两步重复M次。结果为
M * (O(N) + O(logN * N))= O (M * N * logN)
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
n0 = n2+1;
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

二次探测,避免哈希冲突的公式是 Index=n+i^2(i=1,2,3,4,5,6…)
此题是求至少多少次探测,最少的情况是一次探测就找到了合适的位置;
n个关键字冲突:
每个关键字存储的位置
Index1=n+1^2
Index2=n+2^2

Indexn=n+n^2
探测次数即 1+2+3+4+…+n
(1+n)n/2
在这里插入图片描述
快排的阶段性排序结果的特点是,第i趟完成时,会有i个以上的数出现在它最终将要出现的位置,即它左边的数都比它小,它右边的数都比它大。题目问第二趟排序的结果,即要找不存在2个这样的数的选项。A选项中2、3、6、7、9均符合,所以A排除;B选项中,2、9均符合,所以B排除;D选项中5、9均符合,所以D选项排除;最后看C选项,只有9一个数符合,所以C不可能是快速排序第二趟的结果。
在这里插入图片描述
深度优先遍历就是朝着箭头一直访问直到没有节点或者都已经访问过了,才回退。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lhj_loveFang_1105

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值