下面的7个算法与本章中的二分搜索算法BinarySearch略有不同.如果算法不正确,请说明产生错误的
(2)
(3)
(4)
(5)
(6)
(7)
(2)
(3)
(4)
(5)
(6)
(7)
类比二分搜索算法,设计k分搜索算法(k为大于2的整数)如下:首先检查n/k处(n为被搜索集合的元素个数)的元素是否等于要搜索的值,然后检查2n/k处的元素……这样,或者找到要搜索的元素,或者把集合缩小到原来的1/k;如果未找到要搜索的元素,则继续在得到的集合上进行k分搜索;如此进行,直到找到要搜索的元素或搜索失败。此k分搜索算法在最坏情况下搜索成功的时间复杂度为(53),在最好情况下搜索失败的时间复杂度为(54)。
A.O(logn)
B.O(nlogn)
C.O(logkn)
D.O(nlogkn)
A.O(logn)
B.O(nlogn)
C.O(logkn)
D.O(nlogkn)
以关键字比较为基础的排序算法在最坏情况下的计算时间下界为
O(nlogn)。下面的排序算法中,在最坏情况下计算时间可以达到
O(nlogn)的是(58 );
A.归并排序
B.插入排序
C.选择排序
D.冒泡排序
以关键字比较为基础的排序算法在最坏情况下的计算时间下界为O(nlogn)。下面的排序算法中,最坏情况下计算时间可以达到O(nlogn)的是(21),该算法采用的设计方法是(22)。
A.归并排序
B.插入排序
C.选择排序
D.冒泡排序
在RSA算法中,已知两个质数分别为11和13,则下面的选项中,可成为公钥的是(),对应的私钥是()。
A.(143,3) B.(143,7) C.(143,25) D.(143,149) A.(143,77) B.(143,91) C.(143,103) D.(143,120)
阅读下列说明和流程图,将应填入(n)的语句写在对应栏内。
【流程图说明】
下面的流程(如图1所示)用N-S盒图形式描述了在一棵二叉树排序中查找元素的过程,节点有3个成员:data, left和right。其查找的方法是:首先与树的根节点的元素值进行比较:若相等则找到,返回此结点的地址;若要查找的元素小于根节点的元素值,则指针指向此结点的左子树,继续查找;若要查找的元素大于根节点的元素值,则指针指向此结点的右子树,继续查找。直到指针为空,表示此树中不存在所要查找的元素。
【算法说明】
【流程图】
将上题的排序二叉树中查找元素的过程用递归的方法实现。其中NODE是自定义类型:
typedef struct node {
int data;
struct node * left;
struct node * right;
}NODE;
【算法】
NODE * SearchSortTree(NODE * tree, int e)
{
if(tree!=NULL)
{
if(tree->data<e)
(4); //小于查找左子树
else if(tree->data<e)
(5); //大于查找左子树
else return tree;
}
return tree;
}
下面的命令在路由器Rl中建立IKE策略,请补充完成命令或说明命令的含义。
Rl(config)crypto isakmp policy 110 进入ISAKMP配置模式
R1(config-isakmp)样encryption des(5)
R1(config-isakmp)(6)采用MD5散列算法
R1(config-isakmp)authentication pre-share(7)
Rl(config-isakmp)group 1
R1(config-isakmp)lifetime(8)安全关联生存期为l天
局部性原理为下面的某个页面替换算法提供了合理的策略,它是
A.FIFO算法
B.LRU算法
C.OPT算法
D.以上都不对
下面的程序段违反了算法的(2)原则。 Void sam() {int n=2; while(!odd(n)) n+=2 printf(n); }
A.有穷性
B.确定性
C.可行性
D.健壮性
下面的程序段违反了算法的(52)原则。 void sam() {int n=2: while (!odd (n)) n+=2; printf (n); }
A.有穷性
B.确定性
C.可行性
D.健壮性