关于典型算法说法错误的是()。
A.分治法的基本思想是把一个规模为n的问题划分为若干个规模较小、且与原问题相似的子问题,因此和通归问题相同
B.递归法是利用函数直接或间接地调自身来完成某个计算过程
C.迭代法是数值分析中通过从一个初始估计出发寻找一系列近似解来解决问题
D.回溯法先选择某一种可能情况向前探索,当发现所选用的试探性操作不是最佳选择,需回一步(回溯),重新选择继续进行试探,直到找到问题的解或证明问题无解
A.分治法的基本思想是把一个规模为n的问题划分为若干个规模较小、且与原问题相似的子问题,因此和通归问题相同
B.递归法是利用函数直接或间接地调自身来完成某个计算过程
C.迭代法是数值分析中通过从一个初始估计出发寻找一系列近似解来解决问题
D.回溯法先选择某一种可能情况向前探索,当发现所选用的试探性操作不是最佳选择,需回一步(回溯),重新选择继续进行试探,直到找到问题的解或证明问题无解
A.快速排序算法是不稳定的排序算法
B.快速排序算法在最坏情况下的时间复杂度为0(nlgn)
C.快速排序算法是一种分治算法
D.当输入数据基本有序时,快速排序算法具有最坏情况下的时间复杂度
阅读以下算法说明,根据要求回答问题1~问题3。
[说明]
快速排序是一种典型的分治算法。采用快速排序对数组A[p..r]排序的3个步骤如下。
1.分解:选择一个枢轴(pivot)元素划分数组。将数组A[p..r]划分为两个子数组(可能为空)A[p..q-1]和A[q+1..r],使得A[q]大于等于A[p..q-1]中的每个元素,小于A[q+1..r]中的每个元素。q的值在划分过程中计算。
2.递归求解:通过递归的调用快速排序,对子数组A[p..q-1]和A[q+1..r]分别排序。
3.合并:快速排序在原地排序,故无需合并操作。
下面是快速排序的伪代码,请将空缺处(1)~(3)的内容填写完整。伪代码中的主要变量说明如下。
A:待排序数组
p,r:数组元素下标,从p到r
q:划分的位置
x:枢轴元素
i:整型变量,用于描述数组下标。下标小于或等于i的元素的值,小于或等于枢轴元素的值
j:循环控制变量,表示数组元素下标
A.非对称算法也叫公开密钥算法
B.非对称算法的加密密钥和解密密钥是分离的
C.非对称算法不需要对密钥通信进行保密
D.非对称算法典型的有RSA算法、AES算法等
快速排序算法采用的设计方法是______。
A.动态规划法
B.分治法
C.回溯法
D.分枝定界法
A.其他几个选项说法都错误
B.为解决某问题的算法同为该问题编写的程序含义是相同的
C.算法的可行性是指指令不能有二义性
D.算法最终必须由计算机程序实现
●(58) 算法策略与递归技术的联系最弱。
(58)A. 动态规划 B. 贪心 C. 回溯 D. 分治