数据结构--绪论作业(期末复习)

本文介绍了数据结构的基本概念,包括逻辑结构如集合、线性结构、树形结构和图形结构,以及存储结构如顺序存储和链式存储。同时,阐述了算法的重要性,强调了逻辑结构与存储结构的区别,并讨论了算法的时间和空间复杂度。
摘要由CSDN通过智能技术生成

一、判断题:

( ✔️ )(1)数据的逻辑结构与数据元素本身的内容和形式无关。

( ✔️ )(2)一个数据结构是由一个逻辑结构和这个逻辑结构上的一个基本运算集构成的整体。

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

数据项是数据的不可分割的最小单位

( ❌ )(4)数据的逻辑结构和数据的存储结构是相同的。

一、数据逻辑结构
指反映数据元素之间的逻辑关系的数据结构,其中的逻辑关系是指数据元素之间的前后间关系,
而与他们在计算机中的存储位置无关。逻辑结构包括: 
1.集合:数据结构中的元素之间除了“同属一个集合” 的相互关系外,别无其他关系; 
2.线性结构:数据结构中的元素存在一对一的相互关系; 
3.树形结构:数据结构中的元素存在一对多的相互关系; 
4.图形结构:数据结构中的元素存在多对多的相互关系。 

二、数据存储结构
  数据的逻辑结构在计算机存储空间中的存放形式称为数据的物理结构(也称为存储结构)。
  一般来说,一种数据结构的逻辑结构根据需要可以表示成多种存储结构,
  常用的存储结构有顺序存储、链式存储、索引存储和哈希存储等。
数据的顺序存储结构的特点是借助元素在存储器中的相对位置来表示数据元素之间的逻辑关系;
非顺序存储的特点是:借助指示元素存储地址的指针表示数据元素之间的逻辑关系。

( ❌ )(5)程序和算法原则上没有区别,所以在讨论数据结构时可以通用。

程序包含算法,算法就是程序的灵魂。
一个需要实现特定功能的程序,实现它的算法可以有很多种,所以算法的优劣决定着程序的好坏。

( ✔️ )(6)从逻辑关系上讲,数据结构主要分为线性结构和非线性结构两类。

( ✔️ )(7)数据的存储结构是数据的逻辑结构的存储映像。

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

( ❌ )(9)数据的逻辑结构是依赖于计算机的。

( ✔️ )(10)算法是对解题方法和步骤的描述。


二、填空题

  1. 数据有逻辑结构和 存储结构 两种结构。

  1. 数据逻辑结构除了集合以外,还包括:线性结构、树形结构和 图形结构

  1. 数据结构按逻辑结构可分为两大类,它们是线性结构和 非线性结构

  1. 树形结构 图形结构 合称为非线性结构。

  1. 在树形结构中,除了树根结点以外,其余每个结点只有 1 个前趋结点。

  1. 在图形结构中,每个结点的前趋结点数和后续结点数可以 任意多个

  1. 数据的存储结构又叫 物理结构

  1. 数据的存储结构形式包括:顺序存储、链式存储、索引存储和 散列存储

  1. 线性结构中的元素之间存在 一对一 的关系。

  1. 树形结构结构中的元素之间存在 一对多 的关系,

  1. 图形结构的元素之间存在 多对多 的关系。

  1. 数据结构主要研究数据的逻辑结构、存储结构和 算法(或运算) 三个方面的内容。

  1. 数据结构被定义为(D,R),其中D是数据的有限集合,R是D上的 关系 的有限集合。

  1. 算法是一个 有穷指令 的集合。

  1. 算法效率的度量可以分为事先估算法和 事后统计法

  1. 一个算法的时间复杂性是算法 输入规模 的函数。

  1. 算法的空间复杂度是指该算法所耗费的 存储空间 ,它是该算法求解问题规模n的函数。

  1. 若一个算法中的语句频度之和为T(n)=6n+3nlog2n,则算法的时间复杂度为 O(nlongn)

  1. 若一个算法中的语句频度之和为T(n)=3n+nlog2n+n^2,则算法的时间复杂度为 O(n^2)

20. 数据结构是一门研究非数值计算的程序设计问题中计算机的 操作对象 ,以及它们之间的关系和运算的学科。


三、选择题

(1)数据结构通常是研究数据的( )及它们之间的相互联系。

A. 存储结构和逻辑结构 B. 存储和抽象 C. 联系和抽象 D. 联系与逻辑

(2)在逻辑上可以把数据结构分成:( )。

A. 动态结构和静态结构 B. 紧凑结构和非紧凑结构

C. 线性结构和非线性结构 D. 内部结构和外部结构

(3)数据在计算机存储器内表示时,物理地址和逻辑地址相同并且是连续的,称之为( )。

A. 存储结构 B. 逻辑结构 C. 顺序存储结构 D. 链式存储结构

(4)非线性结构中的每个结点( )。

A.无直接前趋结点

B.无直接后继结点

C.只有一个直接前趋结点和一个直接后继结点

D.可能有多个直接前趋结点和多个直接后继结点

(5)链式存储的存储结构所占存储空间( )。

A.分两部分,一部分存放结点的值,另一部分存放表示结点间关系的指针

B.只有一部分,存放结点的值

C.只有一部分,存储表示结点间关系的指针

D.分两部分,一部分存放结点的值,另一部分存放结点所占单元素

(6)算法的计算量大小称为算法的( )。

A. 现实性 B. 难度 C. 时间复杂性 D. 效率

(7)数据的基本单位是( )。

A. 数据结构 B. 数据元素 C. 数据项 D. 文件

(8)每个结点只含有一个数据元素,所有存储结点相继存放在一个连续的存储区里,这种存储结构称为( )结构。

A. 顺序存储 B. 链式存储 C. 索引存储 D. 散列存储

(9)每一个存储结点不仅含有一个数据元素,还包含一组指针,该存储方式是( )存储方式。

A. 顺序 B. 链式 C. 索引 D. 散列

(10)以下任何两个结点之间都没有逻辑关系的是( )。

A. 图形结构 B. 线性结构 C. 树形结构 D. 集合

(11)在数据结构中,与所使用的计算机无关的是( )。

A. 物理结构 B. 存储结构 C. 逻辑结构 D. 逻辑和存储结构

(12)下列四种基本逻辑结构中,数据元素之间关系最弱的是( )。

A. 集合 B. 线性结构 C. 树形结构 D. 图形结构

(13)与数据元素本身的形式、内容、相对位置、个数无关的是数据的( )。

A. 逻辑结构 B. 存储结构 C. 逻辑实现 D. 存储实现

(14)每一个存储结点只含有一个数据元素,存储结点存放在连续的存储空间,另外有一组指明结点存储位置的表,该存储方式是( )存储方式。

A. 顺序 B. 链式 C. 索引 D. 散列

(15)算法能正确的实现预定功能的特性称为算法的( )。

A. 正确性 B. 易读性 C. 健壮性 D. 高效性

(16)算法在发生非法操作时可以作出处理的特性称为算法的( )。

A. 正确性 B. 易读性 C. 健壮性 D. 高效性

(17)下列时间复杂度中最坏的是( )。

A. O(1) B. O( n) C. O(log2n) D. O(n2)

(18)下列算法的时间复杂度是( )。

for (i=0;i<n;i++)

for (j=0;i<n;j++)

c[i][j]=i+j;

A. O(1) B. O( n) C. O(log2n) D. O(n2)

(19)算法分析的两个主要方面是( )。

A. 空间复杂性和时间复杂性 B. 正确性和简明性

C. 可读性和文档性 D. 数据复杂性和程序复杂性

(20)计算机算法必须具备输入、输出和( )。

A. 计算方法 B. 排序方法

C. 解决问题的有限运算步骤 D. 程序设计方法


四、分析题:分析下列程序段的时间复杂度

(1)

for (i=0;i<n;i++)
         for (j=0;j<m;j++)
            A[i][j]

解: O(n*m)

(2)

 s=0;
 for (i=0;i<n;i++)
    for (j=0;j<n;j++)
            s+=B[i][j];
     sum=s;

解:O(n^2);

(3)

 T=A;
 A=B;
 B=T;

解:O(1);

(4)

 s1(int n)   
 {
     int p=1,s=0;
     for(i=1;i<=n;i++)
     { 
        p*=i;
        s+=p;
     }
     return(s);
}

解: O(n);

(5)

 s2(int n)
 {
    x=0;
    y=0;
    for (k=1;k<=n;k++) x++;
    for (i=1;i<=n;i++)
         for (j=1;j<=n;j++) y++;
}

解: O(n^2);


五、二元组的应用

根据二元关系,画出对应逻辑图形的草图,并指出它们属于什么数据类型

1.A=(D,R),其中:D={a,b,c,d,e}, R={ }

解:

a b

c d e

属于集合

2. B=(D,R),其中:D={a,b,c,d,e,f}, R={r}

R={<a,b>,<b,c>,<c,d>,<d,e>,<e,f>} (尖括号表示结点之间关系是有向的)

解:

属于线性结构

3.根据二元组关系画出逻辑图形,并指出它们属于何种数据结构。

F=(D,R),其中:

D={50,25,64,57,82,36,75,55},

R={<50,25>,<50,64>,<25,36>,<64,57>,

<64,82>,<57,55>,<57,75>}

解:

属于树形结构

4.根据二元组关系画出逻辑图形,并指出它们属于何种数据结构。

C=(D,R),其中:

D={1,2,3,4,5,6},

R={(1,2),(2,3),(2,4),(3,4),(3,5),(3,6),(4,5),(4,6)}

(园括号表示结点之间关系是无向的)

解:

属于图形结构

5.根据二元组关系画出逻辑图形,并指出它们属于何种数据结构。

E=(D,R),其中:

D={a,b,c,d,e,f,g,h},

R={<d,b>,<d,g>,<d,a>,<b,c>,<g,e>,<g,h>,<e,f>}

解:

属于树形结构

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值