数据结构期末复习第一章绪论

前言:
最近快期末了,复习下数据结构,下列习题和答案解析,大部分来源于网络,如有不对之处还请指出。
在这里,星云祝各位考生期末考试顺利,新年快乐!
第一章绪论
1. 数据结构是一门研究非数值计算的程序设计问题中计算机的(操作对象)以及它们之间的(关系)和(操作)的学科。
2. 下列关于数据结构的基本概念中,叙述正确的是( C )。
A. 数据元素是数据的最小单位。
B. 数据的逻辑结构是指数据的各数据项之间的逻辑关系。
C. 任何一个算法的设计取决于选定逻辑结构,而算法的实现依赖于采用的存储结构。
D. 顺序存储方式的优点是存储密度大,且插入、删除运算效率高。
---------------------
解析:
选项A,错,因为数据项才是数据的不可分隔的最小单位。
选项B,错,简而言之,逻辑结构就是数据元素间的逻辑关系,而不是数据元素内部的数据项之间的关系
选项C,对,任何一个算法的设计取决于选定逻辑结构,而算法的实现依赖于采用的存储结构。
选项D, 错,前一半正确,但后一半说法错误,那是链式存储的优点。顺序存储方式插入、删除运算效率较低,在表长为n的顺序表中,插入和删除一个数据元素,平均需移动表长一半个数的数据元素.
3. “数据结构”中的“结构”指的是(  D  )。
A. 数据的值
B. 数据元素的各数据项之间的关系
C. 数据的构成
D. 数据元素之间的关系
解析:
“数据结构”中的“结构”是指数据元素之间的关系。
4.数据的逻辑结构如何描述?
答:数据结构的形式化定义:
用一个二元组表示,记为:
           Data_Structure = (D, S)
   其中,D 是数据元素的有限集(即一个数据对象),S是该对象中所有数据元素之间的关系的有限集合。
5.从逻辑上可以把数据结构分为(C)两大类。
  A.动态结构、静态结构       
  B.顺序结构、链式结构  
  C.线性结构、非线性结构
  D.初等结构、构造型结构
解析:
逻辑上可以把数据结构分为线性结构非线性结构
6.以下哪一个术语与数据的存储结构无关?
  A.双向链表
  B.栈
  C.线索二叉树
  D.哈希表
解析:
所谓"存储结构无关"是指既可以用数组实现,又可以用链表实现.从这个意义上讲,
双向链表、哈希表 是与存储结构有关,因为它们都要用到"链式存储";
线索二叉树不是线性结构,但是线索化之后据有了线性结构的特点,依赖于"顺序存储"。
栈与存储结构无关,因为栈的存储既可以用顺序存储如数组实现,也可以用链式存储实现。
7.下列数据结构,( C )是非线性数据结构。
  A.队列
  B.栈
  C.二叉树
  D.字符串
解析:
根据数据结构中各数据元素之间前后关系的复杂度,一般将数据结构分为两大类:线性结构和非线性结构。
线性结构表示数据元素之间一对一的关系,非线性结构表示数据元素之间一对多或者多对一的关系,
根据各种结构的定义可知二叉树是一种非线性结构。
8. 下述(A )是顺序存储方式的优点。
  A.存储密度大
  B.插入运算方便
  C.删除运算方便
  D.数据元素交换方便
解析:
顺序存储方式的优点主要有:存储密度大,存储空间利用率高,便于随机存储。
由于顺序存储方式在插入和删除运算时会引起大量节点的移动,因此不利于经常性的执行插入和上次运算。选项B、C叙述是错误的。
又由于顺序存储是依靠元素的物理位置来反应元素之间的逻辑关系,因此对一些逻辑结构比较复杂的数据,直接存储比较困难。
综上所述,选项A是正确答案。
9.抽象数据类型如何描述?
答:抽象数据类型可用三元组(D,S,P)表示,其中,D是数据对象,S是D上的关系集,P是对D的基本操作集。
    ADT 抽象数据类型名 {
      数据对象:〈数据对象的定义〉
      数据关系:〈数据关系的定义〉
      基本操作:〈基本操作的定义〉
       } ADT 抽象数据类型名
10.一个算法应该是( B)。
   A.程序
   B.问题求解步骤的描述
   C.要满足五个基本特性
   D.A和C.
解析:
算法是对特定问题求解步骤的一种描述,它有五个重要特性:1.有穷性2.确定性3.可行性4.输入5.输出
11.某算法的时间复杂度为O(n2),表明该算法的(C)
A 问题规模是n2
B 执行时间等于n2
C 执行时间与n2成正比
D 问题规模与n2成正比
解析:
时间复杂度为O(n2),说明算法的执行时间T(n)<=c * n2(c为比例常数),
即T(n)=O(n2),时间复杂度T(n)是问题规模n的函数,其问题规模仍然是n而不是n2。
 
posted @ 2015-01-13 17:56  技术宅星云  阅读(1786)  评论(0编辑  收藏  举报