习题一答案
一、填空题
〔1〕一对一一对多多对多
〔2〕物理结构/存储结构c语言while语句流程图
〔3〕相邻
〔4〕链式存储结构
〔5〕有穷性确定性可行性有输入有输出
〔6〕时间复杂性空间复杂性
〔7〕数据元素数据元素间的二元关系
〔8〕O(n)
二、应用题
1.数据结构B逻辑结构表示图如下,该结构反映了数据元素之间一对多的关系,属于树形结构。
2.根本运算〔赋值语句〕执行次数为:0+1+……+n-1=n(n-1)/2,算法时间复杂性O(n2) 三、设计题
1分别用传统流程图和结构化流程图描述算法:将数组中各元素的顺序进行逆置。
结构化流程图
传统流程图
2用C语言编写一个程序,计算一个正整数各位数字之和。
#include <stdio.h>
void main()
{
int a, sum = 0;
scanf("%d", &a);
while (a)
{
sum += a % 10;
a /= 10;
}
printf("sum = %d\n", sum);
}
3用C语言编写一个程序,将数组中各元素的顺序进行逆置,分析算法的时间复杂度和空间复杂度。
void reverse(int a[],int n)
{
int i,j,tmp;
for(i=0,j=n-1;i<j;i++,j--)
{
tmp=a[i];
a[i]=a[j];
a[j]=tmp;
}
}
时间复杂度为O(n),空间复杂度为O(1)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。