导航菜单
首页 >  » 正文

设计求解下列问题的的类C语言算法,并分析其最坏情况时间复杂性及其量级。 (数据结构导论的题目) 大家快来 计算机408考研中的算法设计题可以用C++STL库吗

设计求解下列问题的的类C语言算法,并分析其最坏情况时间复杂性及其量级。 (数据结构导论的题目) 大家快来

(1)
void findEle(int[] a, int n, int key) {
for (int i=0; i<n; i ++) {
if (key == a[i]) {
printf( "%d ", i+1);
return ;
}
}
printf("0 ");
return;
}
算法的复杂度为: O(n),最坏为n。
(2)
void findMaxMin(int a[], int n, int &max, int &maxNext) {
if (n ==0 || a == 0) return; //输入的数组为空
if (n==1) { max = maxNext = a[0]; return;} //数组的长度为1, max 和maxNext 都设为a[0]
if (a[1] > a[0] ) { max = a[1]; maxNext=a[0];}
else { max = a[0]; maxNext = a[1];}
for(int i=2; i<n; i ++) {
if (a[i] > max) {maxNext= max; max = a[i]; } //-----a
else if (a[i] > maxNext) { maxNext = a[i];}
}
return;
}
算法的复杂度: O(n). 最坏情况: 2n (当输入的数组是一个排好序的升序的数组时,循环的每一步都要执行语句a进行数据交换。

计算机408考研中的算法设计题可以用C++STL库吗

C语言描述。
数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关。
一般认为,一个数据结构是由数据元素依据某种逻辑联系组织起来的。对数据元素间逻辑关系的描述称为数据的逻辑结构;数据必须在计算机内存储,数据的存储结构是数据结构的实现形式,是其在计算机内的表示;此外讨论一个数据结构必须同时讨论在该类数据上执行的运算才有意义。一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率。

算法分析的主要任务之一是分析 a.算法是否具有较好的可读性 b.算法的功

根据算法的有限性,可得A正确;
根据算法的多变性,可得B错误;
根据算法语句的确定性,可得C正确;
要看算法功能的确定性质,可得D正确
故选B

相关推荐: