数据结构与实训
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

习题

1.填空题

(1)数据结构所研究的内容包括数据的逻辑结构、数据的物理结构和数据的运算集合。存储结构(又称物理结构)是逻辑结构在_____,它包括_____和_____的表示。施加于_____之上的一组操作构成了数据的运算集合。

(2)数据类型是高级语言中的_____数据结构。

(3)算法的设计要求包括:正确性、可读性、健壮性和_____,可读性的含义是_____,健壮性是指_____。

(4)算法效率的度量应抛开具体机器的,对于一个特定算法只考虑算法本身的效率,而算法自身的执行效率是_____函数。

(5)一个算法的时间复杂度随问题的输入数据集的不同而不同,通常讨论_____情况下的时间复杂度。

(6)一个算法的语句频度表达式是5n*n*log2n+2n*n*n*log2n+1000*n*n*n*n,这个算法的时间复杂度是_____,另一个算法的语句频度表达式是40*n*n+2log2n+1000,这个算法的时间复杂度是_____。

(7)算法的时间复杂度与空间复杂度相比,通常以_____作为主要度量指标。

(8)在下面程序段中,s=s+p语句的频度为_____,p*=j语句的频度为_____,该程序段的时间复杂度为_____。

i=0,
s=0;
while (++i<=n)
{  p=1;
  for(j=1;j<=i;j++)
      p*=j;
  s=s+p;
}

2.判断题

(1)数据元素是数据的最小单位。

(2)算法可以用不同的语言描述,如果用类C语言或类Pascal语言等高级语言来描述,算法实际上就是程序了。

(3)存储结构既要存储数据元素本身又要表示数据元素之间的逻辑关系。

(4)数据结构是带有结构的数据元素的集合。

(5)数据的逻辑结构是指各数据元素之间的逻辑关系,是用户根据需要而建立的。

(6)数据结构在计算机中的映像(或表示)称为存储结构。

(7)算法的可读性的含义是:对于非法的输入数据,算法能给出相应的响应,而不是产生不可预料的后果。

(8)数据的物理结构是指数据在计算机内实际的存储形式。

(9)算法的时间复杂度是算法执行时间的绝对度量。

(10)算法的正确性是指算法不存在错误。

3.简答题

(1)简述下列概念:数据、数据元素、数据类型、数据结构、逻辑结构、存储结构。

(2)设n为正整数,给出下列算法中原操作语句的语句频度及程序段的时间复杂度。

(a)i=1;

k=0;
while (i<=n-1)
{
     k=k+2*i;
     i++;
}

(b)i=1;k=0;

do
{
         k=k+2*i;
         i++;
}
while (i!=n)

(c)x=91;

n=100;
while (n>0)
     if (x>100 )
     {
         x=x-10;
         n=n-1;
     }
     else
x++;

(d)x=n;/* n>1 */

y=0;
while (x>=(y+1)*( y+1))
     y++;

(e)for(i=1;i<=n;i++)

for(i=1;i<=n;i++)
     for(j=i;j<=i;j++)
          for(k=j;k<=j;k++)
               x++;