设有如下两个序列A、B,各含10个元素: A={2 5 5 6 6 7 8 12 14 19} B={0 5 7 8
时间: 2023-06-01 13:04:08 浏览: 100
1. 在A序列中查找元素6的下标:
元素6在A序列中出现了两次,分别在下标3和下标4处。
2. 在B序列中查找元素6的下标:
元素6在B序列中没有出现。
3. 在A序列中查找元素8的下标:
元素8在A序列中出现在下标6处。
4. 在B序列中查找元素8的下标:
元素8在B序列中出现在下标3处。
5. 在A序列中查找元素0的下标:
元素0在A序列中没有出现。
6. 在B序列中查找元素0的下标:
元素0在B序列中出现在下标0处。
相关问题
有一个整数序列是0,5,6,12,19,32,52……,其中第一项为0 第二项为5,第三项为6,以此类推,采用递归法求该数列的第n(n>=1)项
这个数列看起来像是斐波那契数列(Fibonacci sequence)的变种,除了前两项不是0和1,而是从5和6开始。标准的斐波那契数列的递归定义是:F(1) = 0, F(2) = 1,对于n > 2, F(n) = F(n-1) + F(n-2)。
针对这种修改过的数列,我们可以假设它的递归规则类似,即每一项等于它前面两项之和再加上初始的偏移量。让我们设新的序列为G(n),那么:
G(1) = 5
G(2) = 6
G(n) = G(n-1) + G(n-2) + (n-1)
这里加了(n-1)是因为我们从第五项开始计算。所以,我们可以用递归函数来表示,如下面的Python代码所示:
```python
def modified_fibonacci(n):
if n == 1:
return 5
elif n == 2:
return 6
else:
return modified_fibonacci(n-1) + modified_fibonacci(n-2) + (n-1)
```
为了得到第n项,直接调用`modified_fibonacci(n)`即可。
10.设有一组关键字{19,1,23,14,55,20,84,27,68,11,10,77},其哈希函数为h(key)=key % 13。采用开放地址法的线性探测法解决冲突,试在0~18的哈希表中对该关键字序列构造哈希表,并求在成功和不成功情况下的平均查找长度。 (1) 填空题 构建出哈希表如表1所示。 表中探测次数为相应关键字成功查找时所需比较关键字的次数。 请将上表中标序号的地方填写完整,左边一列在“key、下标”这两个词中选:(a)______;(b)______; 右边各列填数据,空缺的地方填小写的a: (0)~(9)依次为__________(请直接写出数据或字母a,中间以一个空格隔开,如1 2 a 3 4 a 5,不用加其他符号,下面的填写也用同样的规则); (20)~(38)依次为__________。 由上表可求出ASL成功=__________,求的过程中所用分母为____。 第1空: 下标 第2空: key 第3空: 第4空: 第5空: 第6空: (2) 填空题 查找不成功表示在表中未找到指定关键字的记录,可得到如表2所示结果。 表2 不成功查找的探测次数 表2除最后一行外,其他同表1,不用填;只在最后一行填数据。 (20)~(38)依次为__________。 由上表可求出ASL不成功=__________,求的过程中所用分母为____。 第1空: 第2空: 第3空:
(a) 下标;(b) key
(0) 55 1 14 27 68 11 77 a 19 20
(1) 1 84 a a a a a a a a
(2) 23 a a a a a a a a a
(3) 14 a a a a a a a a a
(4) a a a a a a a a a a
(5) 19 a a a a a a a a a
(6) a a a a a a a a a a
(7) a a a a a a a a a a
(8) a a a a a a a a a a
(9) 10 a a a a a a a a a
(10)~(18) a a a a a a a a a a
(20)~(38) 14 27 27 27 27 11 11 11 68 68 77 a a a a a a a a a a
ASL成功=3.1818,分母为11
(20) 14 27 27 27 27 11 11 11 68 68 77 a a a a a a a a a a
ASL不成功=2.8182,分母为11