拥有足够的情报(41)答案C考点程序设计基础评析算法具有确定性、可行性,并拥有足够的情报。42希尔排序法属于哪一种类型的排序法______。A交换类排序法B插入类排序法C选择类排序法D建堆排序法(42)答案B考点数据结构与算法评析Shell排序法输入:数组名称(也就是数组首地址)、数组中元素个数思想为:在直接插入排序算法中,每次插入一个数,使有序序列只增加1个节点,并且对插入下一个数没有提供任何帮助。如果比较相隔较远距离(称为增量)的数,使得数移动时能跨过多个元素,则进行一次比较就可能消除多个元素交换。DLshell于1959年在以他名字命名的排序算法中实现了这一思想。算法先将要排序的一组数按某个增量d分成若干组,每组中记录的下标相差d对每组中全部元素进行排序,然后再用一个较小的增量对它进行,在每组中再进行排序。当增量减到1时,整个要排序的数被分成一组,排序完成。下面的函数是一个希尔排序算法的一个实现,初次取序列的一半为增量,以后每次减半,直到增量为1。以C语言为例。voidshell_sorti
txi
t
i
thjktforh
2h0hh2控制增量
1630
fforjhj
j这个实际上就是上面的直接插入排序txjforkjhk0txkkhxkhxkxkht故属于插入类排序法。43下列关于队列的叙述中正确的是______。A在队列中只能插入数据B在队列中只能删除数据C队列是先进先出的线性表D队列是先进后出的线性表(43)答案C考点数据构与算法评析队列是先进先出的,栈是先进后出的,2者的区别一定要搞清楚。44对长度为N的线性表进行顺序查找,在最坏情况下所需要的比较次数为______。AN1BNCN12DN2(44)答案B考点数据结构与算法评析很简单,我们的二级程序设计语言书中都有此算法,另外还要掌握二分法查找,这也是我们二级中常考的。那么二分法最坏的情况为多少次呢?log2
的最小整数值。比如
为4,最坏的情况要比较3次;
为18,最坏的情况要比较5次。二分法适用于已排序的顺序表(我们二级语言中都是数组),考二级书里的,这里不再罗嗦。45信息隐蔽的概念与下述哪一种概念直接相关______。A软件结构定义B模块独立性C模块类型划分D模拟耦合度(45)
1730
f答案B考点软件工程基础评析模块独立性越强,则信息隐蔽性越好。举个例,VB:在多重窗体设计时,每个窗体里的变量尽量与其它窗体里变量无关,比如少用Public声明的r