为了帮助考生系统的复习银行从业资格课程 全面的了解银行从业资格考试的相关重点,小编特编辑汇总了 2011年银行从业资格相关资料 希望对您参加本次考试有所帮助!!
(41) 在下列选项中,哪个不是一个算法一般应该具有的基本特征______。
A. 确定性
B. 可行性
C. 无穷性
D. 拥有足够的情报
(41)
[答案]C
[考点]程序设计基础
[评析]
算法具有确定性、可行性,并拥有足够的情报。
(42) 希尔排序法属于哪一种类型的排序法______。
A. 交换类排序法
B. 插入类排序法
C. 选择类排序法
D. 建堆排序法
(42)
[答案]B
[考点]数据结构与算法
[评析]
Shell排序法 输入:数组名称(也就是数组首地址)、数组中元素个数
思想为:在直接插入排序算法中,每次插入一个数,使有序序列只增加1个节点,
并且对插入下一个数没有提供任何帮助。如果比较相隔较远距离(称为
增量)的数,使得数移动时能跨过多个元素,则进行一次比较就可能消除
多个元素交换。D.L.shell于1959年在以他名字命名的排序算法中实现
了这一思想。算法先将要排序的一组数按某个增量d分成若干组,每组中
记录的下标相差d.对每组中全部元素进行排序,然后再用一个较小的增量
对它进行,在每组中再进行排序。当增量减到1时,整个要排序的数被分成
一组,排序完成。
下面的函数是一个希尔排序算法的一个实现,初次取序列的一半为增量,
以后每次减半,直到增量为1。以C语言为例。
void shell_sort(int *x, int n)
{
int h, j, k, t;
for (h=n/2; h>0; h=h/2) /*控制增量*/
{
for (j=h; j<n; j++) /*这个实际上就是上面的直接插入排序*/
{
t = *(x+j);
for (k=j-h; (k>=0 && t<*(x+k)); k-=h)
{
*(x+k+h) = *(x+k);
}
*(x+k+h) = t;
}
}
}
故属于插入类排序法。
(43) 下列关于队列的叙述中正确的是______。
A. 在队列中只能插入数据
B. 在队列中只能删除数据
C. 队列是先进先出的线性表
D. 队列是先进后出的线性表
(43)
[答案]C
[考点]数据构与算法
[评析]
队列是先进先出的,栈是先进后出的,2者的区别一定要搞清楚。
相关文章
编辑推荐
(责任编辑:中大编辑)