7,5,3,4,6,2,5,4,7,3
A. 2
B. 3
C. 4
D. 5
【答案】B
【解析】对于一个单调递增的单调队列来说,初始时队列为空。
可以发现,在整个过程中,队列长度最大为 3 。
以下哪些是解决哈希冲突的常用方法()。
① 开放定址法
② 链地址法(拉链法)
③ 再哈希法
④ 建立公共溢出区
A. 仅①、②
B. 仅①、②、③
C. 仅①、②、④
D. 全部都是
【答案】D
【解析】
① 开放定址法:从发生冲突的那个单元起,按照一定的次序,从哈希表中找到一个空闲的单元。然后把发生冲突的元素存入到该单元的一种方法。开放定址法需要的表长度要大于等于所需要存放的元素。
在开放定址法中解决冲突的方法有:线行探查法、平方探查法、双散列函数探查法。
开放定址法的缺点在于删除元素的时候不能真的删除,否则会引起查找错误,只能做一个特殊标记。只到有下个元素插入才能真正删除该元素。
② 链地址法(拉链法):链接地址法的思路是将哈希值相同的元素构成一个同义词的单链表,并将单链表的头指针存放在哈希表的第i个单元中,查找、插入和删除主要在同义词链表中进行。链表法适用于经常进行插入和删除的情况。
③ 再哈希法:就是同时构造多个不同的哈希函数 H i = R H i ( k e y ) i = 1 , 2 , 3 … k Hi = RHi(key) i= 1,2,3 … k Hi=RHi(key)i=1,2,3…k;当 H 1 = R H 1 ( k e y ) H1 = RH1(key) H1=RH1(key) 发生冲突时,再用 H 2 = R H 2 ( k e y ) H2 = RH2(key) H2=RH2(key) 进行计算,直到冲突不再产生,这种方法不易产生聚集,但是增加了计算时间。
④ 建立公共溢出区:将哈希表分为公共表和溢出表,当溢出发生时,将所有溢出数据统一放到溢出区。
2,5,8,3,4,10,6,1,9,7
A. 6
B. 13
C. 17
D. 22
【答案】C
【解析】本题的答案等价于数列中逆序对的数量。对于两个下标 i 和 j 来说,若 i < j 且 ai > aj,则称 ai 和 aj 构成一对逆序对。本题中,因为每次只能交换相邻的两个数,所以每次交换最多只能让逆序对的数量减小 1 。所以我们可以考虑每次交换的一对相邻的数都是前一个数大于后一个数的,此时每次交换都能够让逆序对的数量减小 1。则总的交换次数就等于逆序对的数量。
A. Semaphore
B. CyclicBarrier
C. CountDownLatch
D. Counter
【答案】D
A. 默认情况下,Java应用启动过程涉及三个ClassLoader: Boostrap, Extension, System
B. 一般的情况不同ClassLoader装载的类是不相同的,但接口类例外,对于同一接口所有类装载器装载所获得的类是相同的
C. 类装载器需要保证类装载过程的线程安全
D. ClassLoader的父子结构中,默认装载采用了父优先
【答案】B
A. a5和a20
B. a5和a21
C. a6和a20
D. a6和a21
【答案】C
【解析】二分查找第一次查找的区间是[0,26],第一次查找的元素是a(0+26)/2=a13,以a13为分界点,第二次查找的区间范围是 [0,12] 或 [14,26]。若查找区间是[0, 12],则对应的查找的元素是
a(0+12)/2=a6。若查找区间是 [14,26],则对应的查找的元素是 a(14+26)/2=a20。所以比较两次能够找到的元素是 a6 和 a20 。
A. 2
B. 3
C. 4
D. 5
【答案】D
【解析】H(4)=4、H(16)=3、H(27)=1、H(3)=3、H(88)=10、H(56)=4、H(68)=3、H(42)=3、H(33)=7、H(29)=3,其中,H(16) = H(3) = H(68) = H(42) = H(29) = 3,共 5 个。
以下排序算法时间复杂度为 O(n·log(n)) 的是( )。
① 冒泡排序
② 归并排序
③ 选择排序
④ 堆排序
⑤ 插入排序
A. ①和②
B. ①和④
C. ②和④
D. ④和⑤
【答案】C
【解析】归并排序和堆排序的时间复杂度为 O(n·log(n)),冒泡排序、选择排序、插入排序的时间复杂度为 O(n2)。
A. 是稳定的
B. 最坏情况下更高效
C. 空间复杂度低
D. 不会退化
【答案】C
【解析】归并排序需要额外的空间保存中间数据,所以它的空间复杂度相对快速排序要高,这并不是归并排序的优点。
假设小开用某个排序算法对整数序列{3,7,5,4,8,2,1,6}进行排序。以下为排序过程中序列状态的变化过程:
请问小开用的是什么排序算法?( )。
A. 选择排序
B. 归并排序
C. 快速排序
D. 插入排序
【答案】B
【解析】通过观察规律发现,第 i 步的时候将两段长度为 2i-1 的有序区间合并成了一个长度为 2i 的有序区间。可以发现是基于归并排序实现的。
A. 当调用“System.gc()”来强制回收时,系统会立即回收垃圾
B. 垃圾回收不能确定具体的回收时间
C. 程序可明确地标识某个局部变量的引用不再被使用
D. 程序可以显式地立即释放对象占有的内存
【答案】B
A. protected void setColor() { …}
B. void setColor() { …}
C. public void setColor() { …}
D. 以上语句都可以用在类BlueGlass中
【答案】C
A. 周期连续频谱
B. 周期离散频谱
C. 非周期连续频谱
D. 非周期离散频谱
【答案】D
【解析】连续周期信号 f(t) 的频谱 F(w) 的特点是非周期离散频谱。
A. 周期、连续频谱
B. 周期、离散频谱
C. 连续、非周期频谱
D. 离散、非周期频谱
【答案】A
【解析】满足抽样定理条件下,抽样信号 fs(t) 的频谱 Fs(jω) 是周期、连续频谱。
A. 连续的周期信号
B. 离散的周期信号
C. 连续的非周期信号
D. 离散的非周期信号
【答案】D
【解析】信号的频谱是周期的连续谱,则该信号在时域中为离散的非周期信号。
A. 连续的周期信号
B. 离散的周期信号
C. 连续的非周期信号
D. 离散的非周期信号
【答案】B
【解析】信号的频谱是周期的离散谱,则该信号在时域中为离散的周期信号。
A. 2Δω
B. Δω/2
C. 2(Δω-4)
D. 2(Δω-2)
【答案】A
【解析】根据时域和频域之间关系,可知若时域扩展,则频域压缩。所以若 f(t) 的频带宽度为 Δω ,则信号 f(2t) 的频带宽度为 2Δω 。
A. 1.5
B. 1.7
C. 2.0
D. 2.3
【答案】C
【解析】平均查找长度=总的查找次数/元素数 总的查找次数: 38%7=3 (第1次出现3,无冲突,放在位置3,查找次数为1) 25%7=4(第1次出现4,无冲突,放在位置4,查找次数为1) 74%7=4(第2次出现4,有冲突,放在位置5,查找次数为2) 63%7=0(第1次出现0,无冲突,放在位置0,查找次数为1) 52%7=3(第2次出现3,有冲突,发现冲突3,4,5,故只能放到6,查找次数为4) 48%7=6 (第1次出现6,有冲突,发现冲突6,0,故只能放到1,查找次数为3) 1+1+2+1+4+3=12 元素数=6 所以:平均查找长度=12/6=2
int f(int x) {
return ((x > 0) ? x * f(x - 1) : 2)
}
int i;
i = f(f(2))
A. 4
B. 48
C. 8
D. 无限递归
【答案】B
下列名词和其简称对应错误的是( )。
① 离散傅里叶级数 DFS ② 离散傅里叶变换 DFT ③ 快速傅里叶变换 QFT ④ 数字信号处理 DSP
A. 只有①
B. 只有②
C. 只有③
D. ②和④
【答案】C
【解析】快速傅里叶变换(fast Fourier transform)简称 FFT 。
下表中关于四种傅里叶变换形式的归纳中错误的是( )。
序号 | 时间函数 | 频率函数 |
---|---|---|
① | 连续和非周期 | 非周期和连续 |
② | 连续和周期(T0) | 非周期和离散(Ω0=2π/T0) |
③ | 离散(Ts)和非周期 | 周期(Ωs=2π/Ts)和连续 |
④ | 离散(Ts)和周期(T0) | 周期(Ωs=2π/Ts)和离散(Ω0=2π/T0) |
A. 仅①
B. 仅②
C. 仅①、③
D. 全部正确
【答案】D
【解析】上述四种傅里叶变换形式的归纳全部是正确的。
设有模拟信号 xa(t)=cos(2π × 1000t + θ),现在以时间间隔 Ts = 0.25 ms 进行均匀采样。假定从 t=0 开始采样,共采样 N 点。则采样后序列 x(n) 的表达式为( )。
① xa(t) = cos(0.5πn + θ), n = 0,1,2,……,N-1
② xa(t) = cos(0.5πn + 2θ), n = 0,1,2,……,N-1
③ xa(t) = cos(πn + θ), n = 0,1,2,……,N-1
④ xa(t) = cos(πn + 2θ), n = 0,1,2,……,N-1
A. ①
B. ②
C. ③
D. ④
【答案】A
【解析】xa(t) = cos(2π × 1000t + θ) = cos(0.5πn + θ), n = 0,1,2,……,N-1
A. 2
B. 3
C. 4
D. 5
【答案】C
【解析】为了能用DFT精确地反映该周期信号频率,应使采样后仍形成周期序列。该题的采样间隔为 Ts = 0.25 ms,因为 2π/ω = 4,因此形成的序列周期为 4。可以取序列的一个周期作 4 点的 DFT,信号应准确地出现在 4 点 DFT 的第二条谱线上。
A. 200
B. 4000
C. 8000
D. 10000
【答案】B
【解析】2π / Nmin = 2π × 1 × Ts 得 Nmin = 1 / Ts = 4000 。
A. @DateTimeFormat注解用于获取格式化的日期参数。
B. @NumberFormat注解用于获取格式化的数字参数。
C. @RequestBody注解用于从请求体中获取参数。
D. 其他说法都不对
【答案】D
A. 傅里叶级数
B. 傅里叶变换
C. 离散时间傅里叶变换
D. 离散傅里叶变换
【答案】A
【解析】在满足一定条件下,任何一个周期信号都可以分解为正弦信号的叠加,这种分解就称为傅里叶级数。周期连续信号的傅里叶分析称为傅里叶级数(FS)。
A. 傅里叶级数
B. 傅里叶变换
C. 离散时间傅里叶变换
D. 离散傅里叶变换
【答案】B
【解析】对于连续信号,如果信号不是周期的,其傅里叶分析结果又是如何呢?非周期信号可以等效为无穷大的周期信号。于是,由傅里叶级数出发,利用极限的有关概念,可以推导出非周期信号的傅里叶分析结果,这就是傅里叶变换(FT)。
A. 傅里叶级数
B. 傅里叶变换
C. 离散时间傅里叶变换
D. 离散傅里叶变换
【答案】C
【解析】对非周期的连续信号进行时域采样,得到非周期的离散信号,此时的傅里叶分析称为离散时间傅里叶变换(DFTT)。由时频互易性原理可知,时域的采样等效于频域的周期延拓,因此DFTT的频域是周期的。
A. 傅里叶级数
B. 傅里叶变换
C. 离散时间傅里叶变换
D. 离散傅里叶变换
【答案】D
【解析】对周期离散信号的傅里叶分析称为离散傅里叶变换(DFT)。