资源预览内容
第1页 / 共83页
第2页 / 共83页
第3页 / 共83页
第4页 / 共83页
第5页 / 共83页
第6页 / 共83页
第7页 / 共83页
第8页 / 共83页
第9页 / 共83页
第10页 / 共83页
亲,该文档总共83页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
1 单元练习 1单元练习 1 一判断题(下列各题,正确的请在前面的括号内打;错误的打一判断题(下列各题,正确的请在前面的括号内打;错误的打 ) ) () (1)数据的逻辑结构与数据元素本身的内容和形式无关。 ()(2) 一个数据结构是由一个逻辑结构和这个逻辑结构上的一个基本运算集构成的整体。 () (3)数据元素是数据的最小单位。 () (4)数据的逻辑结构和数据的存储结构是相同的。 () (5)程序和算法原则上没有区别,所以在讨论数据结构时可以通用。 () (6)从逻辑关系上讲,数据结构主要分为线性结构和非线性结构两类。 () (7)数据的存储结构是数据的逻辑结构的存储映像。 () (8)数据的物理结构是指数据在计算机内实际的存储形式。 () (9)数据的逻辑结构是依赖于计算机的。 () (10)算法是对解题方法和步骤的描述。 二填空题二填空题 (1)数据有逻辑结构和 存储结构 两种结构。 (2)数据逻辑结构除了集合以外,还包括:线性结构、树形结构和 图形结构 。 (3)数据结构按逻辑结构可分为两大类,它们是线性结构和 非线性结构 。 (4) 树形结构 和 图形结构 合称为非线性结构。 (5)在树形结构中,除了树根结点以外,其余每个结点只有 1 个前趋结点。 (6)在图形结构中,每个结点的前趋结点数和后续结点数可以 任意多个 。 (7)数据的存储结构又叫 物理结构 。 (8)数据的存储结构形式包括:顺序存储、链式存储、索引存储和 散列存储 。 (9)线性结构中的元素之间存在 一对一 的关系。 (10) 树形结构结构中的元素之间存在 一对多 的关系, (11) 图形结构的元素之间存在 多对多 的关系。 (12) 数据结构主要研究数据的逻辑结构、存储结构和 算法(或运算) 三个方面的 内容。 (13) 数据结构被定义为(D,R),其中 D 是数据的有限集合,R 是 D 上的 关系 的有 限集合。 (14) 算法是一个 有穷指令 的集合。 (15) 算法效率的度量可以分为事先估算法和 事后统计法 。 (16) 一个算法的时间复杂性是算法 输入规模 的函数。 (17) 算法的空间复杂度是指该算法所耗费的 存储空间 , 它是该算法求解问题规模 n 的函数。 (18) 若一个算法中的语句频度之和为 T(n)=6n+3nlog2n,则算法的时间复杂度为 O (nlog2n) 。 (19) 若一个算法中的语句频度之和为 T(n)=3n+nlog2n+n2,则算法的时间复杂度为 O 2 (n2) 。 (20) 数据结构是一门研究非数值计算的程序设计问题中计算机的 操作对象 ,以及 它们之间的关系和运算的学科。 三选择题三选择题 (1)数据结构通常是研究数据的( A )及它们之间的相互联系。 A. 存储结构和逻辑结构 B. 存储和抽象 C. 联系和抽象 D. 联系与逻辑 (2)在逻辑上可以把数据结构分成:( C ) 。 A. 动态结构和静态结构 B. 紧凑结构和非紧凑结构 C. 线性结构和非线性结构 D. 内部结构和外部结构 (3)数据在计算机存储器内表示时,物理地址和逻辑地址相同并且是连续的,称之为( C ) 。 A. 存储结构 B. 逻辑结构 C. 顺序存储结构 D. 链式存储结 构 (4)非线性结构中的每个结点( D ) 。 A.无直接前趋结点 B.无直接后继结点 C.只有一个直接前趋结点和一个直接后继结点 D.可能有多个直接前趋结点和多个直接后继结点 (5)链式存储的存储结构所占存储空间( A ) 。 A 分两部分,一部分存放结点的值,另一部分存放表示结点间关系的指针 B 只有一部分,存放结点的值 C 只有一部分,存储表示结点间关系的指针 D 分两部分,一部分存放结点的值,另一部分存放结点所占单元素 (6)算法的计算量大小称为算法的( C ) 。 A. 现实性 B. 难度 C. 时间复杂性 D. 效率 (7)数据的基本单位是( B ) 。 A. 数据结构 B. 数据元素 C. 数据项 D. 文件 (8)每个结点只含有一个数据元素,所有存储结点相继存放在一个连续的存储区里,这种 存储结构称为( A )结构。 A. 顺序存储 B. 链式存储 C. 索引存储 D. 散列存储 (9)每一个存储结点不仅含有一个数据元素,还包含一组指针,该存储方式是( B ) 存储方式。 A. 顺序 B. 链式C. 索引 D. 散列 (10)以下任何两个结点之间都没有逻辑关系的是( D ) 。 A. 图形结构 B. 线性结构 C. 树形结构 D. 集合 (11)在数据结构中,与所使用的计算机无关的是( C ) 。 A. 物理结构 B. 存储结构 C. 逻辑结构 D. 逻辑和存 储结构 (12)下列四种基本逻辑结构中,数据元素之间关系最弱的是( A ) 。 A. 集合 B. 线性结构 C. 树形结构 D. 图形结构 (13)与数据元素本身的形式、内容、相对位置、个数无关的是数据的( A ) 。 A. 逻辑结构 B. 存储结构 C. 逻辑实现 D. 存储实现 3 (14)每一个存储结点只含有一个数据元素,存储结点存放在连续的存储空间,另外有一组 指明结点存储位置的表,该存储方式是( C )存储方式。 A. 顺序 B. 链式 C. 索引 D. 散列 (15)算法能正确的实现预定功能的特性称为算法的( A ) 。 A. 正确性 B. 易读性 C. 健壮性 D. 高效性 (16)算法在发生非法操作时可以作出处理的特性称为算法的( C ) 。 A. 正确性 B. 易读性 C. 健壮性 D. 高效性 (17)下列时间复杂度中最坏的是( D ) 。 A. O(1) B. O( n) C. O(log2n) D. O(n2) (18)下列算法的时间复杂度是( D ) 。 for (i=0;in;i+) for (j=0;in;j+) cij=i+j; A. O(1) B. O( n) C. O(log2n) D. O(n2) (19)算法分析的两个主要方面是( A ) 。 A. 空间复杂性和时间复杂性 B. 正确性和简明性 C. 可读性和文档性 D. 数据复杂性和程序复杂性 (20)计算机算法必须具备输入、输出和( C ) 。 A. 计算方法 B. 排序方法 C. 解决问题的有限运算步骤 D. 程序设计方法 四分析下面各程序段的时间复杂度四分析下面各程序段的时间复杂度 (1)for (i=0;in;i+) for (j=0;jm;j+) Aij 解: O(n*m) (2) s=0; for (i=0;in;i+) for (j=0;jn;j+) s+=Bij; sum=s; 解: O(n2) (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) 4 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(n2) 五五 根据二元组关系, 画出对应逻辑图形的草图, 指出它们属于何种数据结构。根据二元组关系, 画出对应逻辑图形的草图, 指出它们属于何种数据结构。 (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=, (尖括号表示结点之间关系是有向的) 解: 属于线性结构。 (3)F=(D,R) ,其中: D=50,25,64,57,82,36,75,55,R=r R=, 解: 属于树结构 (4)C=(D,R) ,其中: D=1,2,3,4,5,6,R=r R=(1,2),(2,3),(2,4),(3,4),(3,5),(3,6),(4,5),(4,6)(园括号表示结点之间关系是有向的) b a edfc 25 50 75 57 36 82 64 55 5 解: 属于图结构 (5)E=(D,R) ,其中: D=a,b,c,d,e,f,g,h,R=r R=, 解: 属于树结构。 1 2 6 3 4 5 c b d f e a h g 6 单元练习 2单元练习 2 一判断题(下列各题,正确的请在前面的括号内打;错误的打一判断题(下列各题,正确的请在前面的括号内打;错误的打 ) () (1)线性表的链式存储结构优于顺序存储。 () (2)链表的每个结点都恰好包含一个指针域。 ()(3) 在线性表的链式存储结构中, 逻辑上相邻的两个元素在物理位置上并不一定紧邻。 () (4)顺序存储方式的优点是存储密度大,插入、删除效率高。 () (5)线性链表的删除算法简单,因为当删除链中某个结点后,计算机会自动地将后续 的各个单元向前移动。 ()(6) 顺序表的每个结点只能是一个简单类型, 而链表的每个结点可以是一个复杂类型。 () (7)线性表链式存储的特点是可以用一组任意的存储单元存储表中的数据元素。 () (8)线性表采用顺序存储,必须占用一片连续的存储单元。 () (9)顺序表结构适宜于进行顺序存取,而链表适宜于进行随机存取。 () (10)插入和删除操作是数据结构中最基本的两种操作,所以这两种操作在数组中也 经常使用。 二填空题二填空题 (1)顺序表中逻辑上相邻的元素在物理位置上 必须 相连。 (2)线性表中结点的集合是有限的,结点间的关系是 一对一 关系。 (3)顺序表相对于链表的优点是: 节省存储 和随机存取。 (4)链表相对于顺序表的优点是: 插入、删除 方便。 (5) 采用 顺序 存储结构的线性表叫顺序表。 (6) 顺序表中访问任意一个结点的时间复杂度均为 O(1) 。 (7) 链表相对于顺序表的优点是插入、删除方便;缺点是存储密度 小 。 (8) 在双链表中要删除已知结点*P,其时间复杂度为 O(1) 。 (9) 在单链表中要在已知结点*P 之前插入一个新结点,需找到*P 的直接前趋结点的地 址,其查找的时间复杂度为 O(n) 。 (10) 单链表中需知道 头指针 才能遍历整个链表。 (11) 性表中第一个结点没有直接前趋,称为 开始 结点。 (12) 在一个长度为 n 的顺序表中删除第 i 个元素,要移动 n-i 个元素。 (13) 在一个长度为 n 的顺序表中,如果要在第 i 个元素前插入一个元素,要后移 n- i +1 个元素。 (14) 在无头结点的单链表中,第一个结点的地址存放在头指针中,而其它结点的存储地 址存放在前趋 结点的指针域中。 (15) 当线性表的元素总数基本稳定,且很少进行插入和删除操作,但要求以最快速度存 取线性表中的元素时,应采用 顺序 存储结构。 (16) 在线性表的链式存储中,元素之间的逻辑关系是通过 指针 决定的。 (17) 在双向链表中,每个结点都有两个指针域,它们一个指
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号