1
您的位置: 线上活动  >  在线答题  >  答题题库

数据结构

2024-01-16 18:15:45.226.0.36634

数据结构 在线考试 答题题目
1、 用顺序存储的方法,将完全二叉树中所有结点按层逐个从左到右的顺序存放在一维数组 R[1...N]中,若结点 R[i]有右孩子,则其右孩子是
  • A、R[2i-1]
  • B、R[2i+1]
  • C、R[2i]
  • D、R[2/i]


  • 2、 对某二叉树进行先序遍历的结果为A、B、D、E、F、C,中序遍历的结果为D、B、F、E、A、C,则后序遍历的结果是()
  • A、D、B、F、E、A、C
  • B、D、F、E、B、C、A
  • C、B、D、F、E、C、A
  • D、B、D、E、F、A、C


  • 3、 任何一棵二叉树的叶结点在先序、中序和后序遍历中的相对次序( )
  • A、不会发生改变
  • B、不能确定
  • C、发生改变
  • D、以上都不对


  • 4、 利用二叉链表存储树,则根结点的右指针是
  • A、指向最左孩子
  • B、指向最右孩子
  • C、空
  • D、非空


  • 5、 在完全二叉树中,若一个结点是叶结点,则它没
  • A、左子结点
  • B、右子结点
  • C、左子结点和右子结点
  • D、左子节点、右子结点和兄弟结点


  • 6、 一棵二叉树高度为h(根的高度为 1),所有结点的度为 0,或者为2,这棵二叉树最少()结点
  • A、2h
  • B、2h-1
  • C、2h+1
  • D、h+1


  • 7、 一棵完全二叉树上有 1001 个结点,其中叶子结点的个数是
  • A、250
  • B、500
  • C、254
  • D、501


  • 8、 若一棵二叉树具有10个度为2的结点,5 个度为1的结点,则度为0的结点个数是
  • A、9
  • B、11
  • C、15
  • D、14


  • 9、 假定在一棵二叉树中,度为2的结点数为 15,度为1的结点数为30,则叶子结点数为()
  • A、15
  • B、16
  • C、17
  • D、47


  • 10、 若某棵二叉树结点的前序排列和后序排列序列相同,则该二叉树
  • A、度为1
  • B、只有一个结点
  • C、每个结点都没有左孩子
  • D、每个结点都没有右孩子


  • 11、 某二叉树的中序序列为{A,B,C,D,E,F,G),后序序列*{B,D,C,A,EGE},则其左子树数目为
  • A、3
  • B、2
  • C、4
  • D、5


  • 12、 一棵具有5层的满二叉树中结点的总数为()
  • A、31
  • B、32
  • C、33
  • D、16


  • 13、 设a和b为一棵二叉树的两个结点,在中序遍历时,a在b前面的条件是()
  • A、a在b的右方
  • B、a在b的左方
  • C、a是b的祖先
  • D、a是b子孙


  • 14、 设一棵二叉树的中序遍历序列为{b,a,d,c,e},后续遍历序列为b,d,e,c,a},则二叉树先序遍历为
  • A、{a,d,b,c,e}
  • B、{d, e, c,a, b}
  • C、{d,e, b,a,c}
  • D、{a,b,c,d,e}


  • 15、 由3个结点可以构造出() 种不同的二叉树。
  • A、2
  • B、3
  • C、4
  • D、5


  • 16、 二叉树的深度为k,则二叉树最多有()个结点。
  • A、2^k
  • B、2^(k-1)
  • C、2^k - 1
  • D、2k-1


  • 17、 下列说法正确的是 (
  • A、任何一棵二叉树中至少有一个结点的度为2
  • B、任何一棵二叉树中每一个结点的度都为2
  • C、任何一棵二叉树中的度肯定等于2
  • D、任何一棵二叉树中的度可以小于2


  • 18、 “二叉树为空”意味着二叉树(
  • A、由一些没有赋值的空结点构成
  • B、根结点没有子树
  • C、不存在
  • D、没有结点


  • 19、 树最适合用来表示()。
  • A、有序数据元素
  • B、无序数据元素
  • C、元素之间具有分支层次关系的数据
  • D、元素之间无联系的数据


  • 20、 下列说法错误的是()
  • A、树形结构的特点是一个结点可以有多个直接前驱
  • B、树形结构的特点是一个结点可以有多个直接后继
  • C、树形结构可以表达(组织) 更复杂的数据
  • D、树(及一切树形结构)是一种“分支层次”结构


  • 21、 用链接方式存储的队列,在进行出队操作时()
  • A、仅修改头指针
  • B、仅修改尾指针
  • C、头、尾指针都要修改
  • D、头、尾指针可能都要修改


  • 22、 一个递归算法必须包括 (
  • A、递归部分
  • B、终止条件和递归部分
  • C、迭代部分
  • D、终止条件和迭代部分


  • 23、 在一个链队列中,假定 front 和 rear 分别为队头指针和队尾指针,删除个结点的操作是
  • A、front=front.next;
  • B、rear= rear.next;
  • C、rear.next=front;
  • D、front.next=rear;


  • 24、 在解决计算机主机和打印机之间速度不匹配问题时,通常设置一个打印数据缓冲区,主机将要输出的数据依次写入该缓冲区,而打印机则从该缓冲区中取走数据打印。该缓冲区应该是一个()结构
  • A、堆栈
  • B、队列
  • C、数组
  • D、线性表


  • 25、 当用大小为N的数组存储顺序循环队列时,该队列的最大长度为
  • A、N
  • B、N+1
  • C、N-1
  • D、N-2


  • 26、(填空题) 队列中元素之间的逻辑关系为___。


  • 27、(填空题) 简述算法设计的步骤。


  • 28、(填空题) 请简述算法的五个特性。


  • 29、(判断题) 栈和队列都是限制存取端的线性表。
  • A、正确
  • B、错误


  • 30、(判断题) 栈和队列都是线性表,只是在插入和删除时受到了一些限制。
  • A、正确
  • B、错误


  • 31、(判断题) 顺序表具有随机存取特性,而链表不具有随机存取特性。
  • A、正确
  • B、错误


  • 32、(判断题) 线性表的顺序存储结构优于链式存储结构。
  • A、正确
  • B、错误


  • 33、(判断题) 线性表的长度是线性表占用的存储空间的大小。
  • A、正确
  • B、错误


  • 34、(判断题) 线性表中每个元素都有一个前趋元素和一个后继元素。
  • A、正确
  • B、错误


  • 35、(判断题) 线性表中的结点按前趋、后继关系可以排成一个线性序列。
  • A、正确
  • B、错误


  • 36、(判断题) 线性表中所有元素的数据类型必须相同。
  • A、正确
  • B、错误


  • 37、(判断题) 一个数据结构中,如果数据元素值发生改变,则它的逻辑结构也随之改变。
  • A、正确
  • B、错误


  • 38、(判断题) 数据的运算描述是定义在数据的逻辑结构上的。
  • A、正确
  • B、错误


  • 39、 在一个链式队列中,假定 front和rear分别为队头指针和队尾指针,插入一个结点s的操作是 (
  • A、front=front.next;
  • B、s.next=rear;rear=s;
  • C、rear.next=s;rear=s;
  • D、s.next=front; front=s;


  • 40、(填空题) 若栈空间大小为n,则最多的连续进栈操作的次数为___


  • 41、(填空题) 在栈结构中,允许插入和删除的一端称为___


  • 42、(填空题) 栈是一种具有___特性的线性表


  • 43、(填空题) 所有存储结点存放在一个连续的存储区里,利用结点在存储器中的相对位置来表示数据元素之间的逻辑关系。这种存储方式是_______。


  • 44、(填空题) 数据的存储构分为顺序、______、索引和哈希表4种基本类型。


  • 45、(填空题) 结点按逻辑关系依次排列形成一条"锁链"的数据结构是______。


  • 46、(填空题) 在数据结构中,各个结点按逻辑关系互相缠绕,任意两个结点可以邻接的结构称为______。


  • 47、(填空题) 数据的逻辑结构分为集合、线性结构、______和图形结构4种基本类型


  • 48、(填空题) 在数据结构中,______与数据元素本身的内容和形式无关


  • 49、 在顺序表中,只要知道(),就可以快速求出任意一个结点的存储地址
  • A、结点所占用的存储长度
  • B、基地址和结点所占用的存储长度
  • C、基地址
  • D、数据元素个数


  • 50、 顺序表存取数据操作的时间复杂度为()
  • A、O(1)
  • B、O(n)
  • C、O(g(n)
  • D、O(n/2)


  • 51、 算法分析的目的是()
  • A、分析算法的效率以求改进
  • B、找出数据结构的合理性
  • C、分析算法的可读性
  • D、研究算法中的输入输出关系


  • 52、 下列关于链表的说法中,不正确的是()。
  • A、方便进行插入和删除操作
  • B、需要增加额外空间表示元素的逻辑关系
  • C、可以随机存取
  • D、是线性表的链式存储结构


  • 53、 在一个长度为n的顺序表中删除一个结点的平均移动次数为()
  • A、(n+1)/2
  • B、(n-1)/2
  • C、n/2
  • D、n


  • 54、 在一个长度为n的顺序表中插入一个结点的平均移动次数为()
  • A、(n+1)/2
  • B、(n-1)/2
  • C、n/2
  • D、n


  • 55、 一个长度为 n 的顺序表中,删除下标为i(0in-1) 的元素时,需要向前移动()个元素。
  • A、n-i
  • B、n-i+1
  • C、n-i-1
  • D、i


  • 56、 一个长度为n的顺序表中,在下标i(0<=i<=n)处插入一个新元素时,需要向后移动()个元素。
  • A、n-i
  • B、n-i+1
  • C、n-i-1
  • D、i


  • 57、 存取任何一个元素的时间复杂度是 O(1)的数据结构称为()
  • A、随机存取结构
  • B、简单结构
  • C、顺序结构
  • D、随机结构


  • 58、 对于顺序表的优缺点,以下说法中不正确的是()
  • A、无须为表示结点间的逻辑关系而增加额外的存储空间
  • B、可以方便地随机存取表中的任一结点
  • C、插入和删除运算比较方便
  • D、容易造成一部分空间长期闲置而得不到充分利用


  • 59、 假设顺序表中的每个数据元素在存储器中占用d字节的存储单元,若第1个元素 a0的存储地址为 Loc(a0),则 ai的存储地址为()
  • A、无法计算
  • B、Loc(ai)=Loc(a0)+i
  • C、Loc(ai)=Loc(a0)xd + i
  • D、Loc(ai)=Loc(a,) + ixd


  • 60、 顺序表是线性表的()
  • A、链式存储结构
  • B、索引存储结构
  • C、顺序存储结构
  • D、散列存储结构


  • 61、 下列关于线性表的说法中,正确的是()
  • A、线性表中包含的数据元素个数可以是任意的
  • B、线性表中的数据元素类型不可以是复合类型
  • C、线性表中的每个结点都有且只有一个直接前驱和直接后继
  • D、线性表中的数据元素可以是整型、实型、字符等任何一种数据类型


  • 62、 当线性表的元素总数基本稳定,且很少进行插入和删除操作,但要求以最快的速度存取线性表中的元素时,应采用( )存储结构。
  • A、顺序
  • B、链式
  • C、索引
  • D、散列


  • 63、 线性表 (Linear List) 是由 n (n>0) 个类型相同的()组成的有限序列。
  • A、数据
  • B、数据元素
  • C、数据项
  • D、数据集合


  • 64、 单链表的每一个结点有()个地址域(指针域/引用域)。
  • A、1
  • B、2
  • C、3
  • 0


  • 65、 树结构和图结构属于()
  • A、非线性结构
  • B、线性结构
  • C、存储结构
  • D、集合结构


  • 66、 算法指的是()
  • A、计算方法
  • B、解决问题的方法和步骤
  • C、调度方法
  • D、排序方法


  • 67、 算法分析的两个主要方面是()
  • A、正确性和简明性
  • B、可读性和正确性
  • C、稳定性和健壮性
  • D、时间复杂度和空间复杂度


  • 68、 评价一个算法时间性能的主要标准是()
  • A、算法易于调试
  • B、算法易于理解
  • C、算法的稳定性和正确性
  • D、算法的时间复杂度


  • 69、 如果将与计算机软硬件相关的因素确定下来,那么一个特定算法的运行工作量就只依赖于()
  • A、计算机硬件
  • B、问题的规模
  • C、实现算法的语言
  • D、编译生成的目标代码的质量


  • 70、 算法是描述解决特定问题的思路、方法和步骤,是求解步骤(指令)的有限序列。其特性除了包含输入和输出外,还包括()
  • A、有穷性、正确性、可行性
  • B、有穷性、正确性、确定性
  • C、有穷性、确定性、可行性
  • D、正确性、确定性、可行性


  • 71、 对于一个算法的评价,不包括下列中()方面的内容。
  • A、健壮性
  • B、可读性
  • C、并行性
  • D、正确性


  • 72、 数据的存储结构主要有()
  • A、顺序存储和链式存储
  • B、顺序存储和结构存储
  • C、链式存储和结构存储
  • D、索引存储和散列存储


  • 73、 在数据结构中,基本的逻辑结构包括()
  • A、树结构、图结构和非线性结构
  • B、线性结构、树结构和非线性结构
  • C、树结构、图结构和线性结构
  • D、集合结构、树结构和图结构


  • 74、 在数据结构中,从逻辑上可以把数据结构分成()
  • A、线性结构和非线性结构
  • B、线性结构和树结构
  • C、动态结构和静态结构
  • D、内部结构和外部结构


  • 75、 数据结构指的是数据之间的相互关系,即数据的组织形式。数据结构一般包括()三方面内容。
  • A、数据的逻辑结构、数据的存储结构、数据的描述
  • B、数据的逻辑结构、数据的存储结构、数据的运算
  • C、数据的存储结构、数据的运算、数据的描述
  • D、数据的逻辑结构、数据的运算、数据的描述


  • 76、 栈和队列都是()
  • A、顺序存储的线性结构
  • B、限制存取点的线性结构
  • C、链接存储的线性结构
  • D、限制存取点的非线性结构


  • 77、 将递归算法转换成对应的非递归算法时,通常需要使用 ()来保存中间结果。
  • A、队列
  • B、栈
  • C、链表
  • D、树


  • 78、 表达式a*(b+c)-d 的后缀表达式是
  • A、abcd+-
  • B、abc+*d-
  • C、abc*+d-
  • D、-+*abcd


  • 79、 依次在初始为空的队列中插入元素 a、b、c、d 以后,紧接着做了两次队操作,此时的队头元素是()
  • A、a
  • B、b
  • C、c
  • D、d


  • 80、 在一个循环顺序队列中,队首指针指向队首元素的()位置
  • A、前一个
  • B、后一个
  • C、当前
  • D、后面


  • 81、 一个顺序栈 S,其栈顶元素下标为 top,则将元素e 入栈的操作是()
  • A、S[top]=e; top++;
  • B、 top++;S[top]=e;
  • C、S[top]=e;
  • D、S[top]=e;


  • 82、 若一个循环队列空间大小为6,当前 rear 和 font 的值分别为0和3,当从队列中删除一个元素,再加入两个元素后,rear 和 front 的值分别为()
  • A、1和5
  • B、2和4
  • C、4和2
  • D、5和1


  • 83、 假定一个链队的队首和队尾指针分别为 front 和 rear,则判断队空的条件是()
  • A、front==rear
  • B、front!=NULL
  • C、rear!=NULL
  • D、front==NULL


  • 84、 假定一个循环顺序队列的队首和队尾指针分别为 f和r,则判断队空的条件是()
  • A、f+1=r
  • B、r+1=f
  • C、f==0
  • D、f==r


  • 85、 队列的删除操作是在()
  • A、队首
  • B、队尾
  • C、队前
  • D、队后


  • 86、 栈和队列的共同点是 ()
  • A、都是先进后出
  • B、都是先进先出
  • C、只允许在端点处插入和删除元素
  • D、没有共同点


  • 87、 若让元素 1,2,3 依次进栈,则出栈次序不可能出现的情况是()
  • A、 3,2,1
  • B、2,1,3
  • C、3,1,2
  • D、1, 3,2


  • 88、 数据的运算定义在数据的逻辑结构上,只有确定了(),才能具体实现这些运算。
  • A、数据对象
  • B、逻辑结构
  • C、存储结构
  • D、数据操作


  • 89、 栈的插入与删除操作在 () 进行
  • A、栈顶
  • B、栈底
  • C、任意位置
  • D、指定位置


  • 90、 双向链表的每一个结点有()个地址域(指针域/引用域)。
  • A、1
  • B、2
  • C、3
  • 0


  • 91、 单链表不具备的特点是()
  • A、插入、删除不需要移动元素
  • B、链表长度可动态增长
  • C、所需空间与线性长度成正比
  • D、可随机访问任一个元素


  • 92、 单链表是由一个个()链接而成。
  • A、数据
  • B、指针
  • C、结点
  • D、数据元素


  • 93、 链表的特点是利用()来表示数据元素之间的逻辑关系。
  • A、下标
  • B、结点
  • C、数据域
  • D、地址域


  • 94、 单链表插入、删除操作的时间复杂度为()
  • A、O(1)
  • B、O(n)
  • C、O(g(n)
  • D、O(n/2)


  • 95、 顺序表插入、删除操作的时间复杂度为()
  • A、O(1)
  • B、O(n)
  • C、O(g(n)
  • D、O(n/2)


  • 96、 在单链表中删除结点 p 的后继结点,正确的操作是()
  • A、p.next=p.next;
  • B、p=p.next;
  • C、p.next=p.next.next;
  • D、p=p.next.next;


  • 97、 判断带头结点的单链表为空表的条件是(),假设头指针为 head。
  • A、this.head.next==null;
  • B、this.head==null;
  • C、this.head.next==this.head;
  • D、this.head!=null;


  • 98、 在单链表结点p之后插入结点 s,正确的操作是
  • A、p.next=s; s.next-p.next;
  • B、s.next=p.next; p.next=s;
  • C、p.next=s.next; p.next=s;
  • D、p.next=s; p.next=s.next;


  • 99、 若一个链表最常用的操作是在表尾处插入或删除结点,则选用()最节省时间。
  • A、单链表
  • B、循环单链表
  • C、双向链表
  • D、带尾指针的循环单链表


  • 微信扫一扫 在线答题 在线出卷 随机出题小程序 闯关答题软件 出题答题小程序