数据结构期末习题(填空题)

数据结构习题

  • 填空题
  1. 数据结构是研究数据的_逻辑结构__和___物理结构__,并在这种结构上定义相关的运算,设计实现这些运算的算法,分析算法的效率。算法的效率包括时间和空间两个方面,分别称为___时间复杂度____和__空间复杂度___。算法是对特定问题求解___步骤___的一种描述,是指令的有限序列。数据的基本单位是__数据元素__ ,数据的最小单位是__数据项_  。
  2. 一个算法的时间复杂度为(3n3+2n—7),其数量级表示为 On3  _。
  3. 一个算法具有5个特性:  确定性 可行性 有穷性   、输入和输出
  4. 算法性能的分析和度量,可以从算法的 时间复杂度  和   空间复杂度  来评价算法的优劣数据的逻辑结构包括集合结构 线性结构   树形结构 图型结构  四种类型。
  5. 数据结构在计算机中的表示称为数据的  物理结构 ,它可以采用__顺序存储___或__链式存储_两种存储方法。
  6. 线性表有两种存储结构,分别为   顺序存储    和       链式存储 
  7. 链式存储的特点是利用 指针   来表示数据元素之间的逻辑关系。

     8.若频繁地对线性表进行插入和删除操作,该线性表宜采用_链式存储__存储结构。

  1. 线性表中的数据元素之间具有  一对一   的线性关系,除第一个和最后一个元素外,其他数据元素有且只有  一个 直接后继和直接前趋。
  2. 在一个单链表中p所指结点之后插入一个s所指结点时,应执行s->next=__p->next______和p->next=__s______的操作。
  3. 在一个单链表中删除p的后继结点q时,应执行以下操作p->next=  q->next    。
  4. 对带头结点head的单链表,则判断其为空的条件为  head->next=NULL     。
  5. 对带头结点head的循环单链表尾结点(由p所指向)判非空的条件为  p->next=head  
  6. 在栈结构中,允许插入的一端称为  栈顶    ;在队列结构中,允许插入的一端称为   队尾   
  7. 队列中元素的入队和出队应遵循__先进先出  ____原则,数据元素1,2,3,4,5按照次序入队后,第一个出队的是__1   ____
  8. 在循环队列中,存储空间为0~n-1。设队头指针front指向队头元素前一个空闲元素,队尾指针指向队尾元素,那么其队空标志为rear=front,队满标志为 (rear+1)% n=front 
  9. 设顺序表有19个元素,第一个元素的地址为200,且每个元素占3个字节,则第14个元素的存储地址为   239          。(等差数列通项公式可求
  10. 在一个长度为n的顺序表中删除第i个元素(1≤i≤n),需向前移动  n-i     个元素。
  11. 在一个长度为n的顺序表中第i个元素(1≤i≤n),插入一个元素,需向后移动 n-i+1        个元素。
  12. 在一个长度为n的顺序表中第i个元素(1≤i≤n),插入一个元素,需向后移动 n-i 个元素。

  1. 在顺序存储的线性表中插入或删除一个元素平均约移动表中__50%_(或一半)_的元素
  2. 在顺序表中访问任意一结点的时间复杂度均为 O(1)  ,因此,顺序表也称为 随机存取  的数据结构。
  3. 在n个结点的单链表中要删除已知结点*p,需找到它的前驱结点的地址,其时间复杂度为O(n)
  4. 一个广义表为(a,(a,b),d,e,((i,j),k)),则该广义表的长度为__5___,深度为__3___。
  5. 已知广义表A=((a,b,c),(d,e,f)),则运算tail (head (tail(A)))=(e,f)__。
  6. 已知广义表Ls=(a,(b,c,d),e),运用head和tail函数取出Ls中的原子b的运算是_head(head(tail(LS)))___。
  7. 广义表((a,b),c,d)的表头是  (a,b)    表尾是 (c,d)   
  8. 广义表(a,b,c,d)的表头是 a    表尾是  (b,c,d)___
  9. 两个串相等的充分必要条件是:__ 串长相等___ __对应的字符相等_
  10. 不含任何字符的串称为      空串      其长度为    0   。
  11. ***若二叉树中有20个叶子结点,则该二叉树有   19     个度为2的结点。
  12. ***若二叉树中度为2的结点有15个,则该二叉树有__16________个叶子结点。
  13. ***深度为h且有__2^h-1____个结点的二叉树称为满二叉树。
  14. ***深度为k的二叉树最多有 _2^k-1    个结点,最少有 k  个结点,第i 层上最多有_2^(i-1)____个结点。
  15. 深度为5的满二叉树共有 31      个结点,其中有__16_____个叶子节点。
  16. 若深度为6的完全二叉树的第6层有3个叶结点,则该二叉树一共有  34     个结点。
  17. 深度为15的满二叉树上,第11层有 _2^(11-1)=1024       个结点。
  18. 一棵具有100个结点的完全二叉树,它的深度为  7   ,其中度为1的结点有   1  个。
  19. ***在完全二叉树中,具有n个节点的完全二叉树的深度为[log2n]+1,其中[log2n]+1是向下取整。满二叉树的深度为k=log2(n+1);
  20. 某二叉树的后根遍历序列为abd,中根遍历序列为adb,则它的先根遍历序列为  dab   
  21. 哈夫曼树是指对于一组带有确定权值的叶子结点构造的具有最小带权路径长度                    的二叉树。
  22. 具有m个叶子结点的哈夫曼树共有       2m-1         个结点。
  23. 已知一棵哈夫曼树含有60个叶子结点,则该树中共有    59     个非叶子结点。
  24. 在一个具有n个顶点无向完全图中,含有  n(n-1)/2    边;在一个具有n个顶点有向完全图中,含有  n(n-1)    边。一个具有4个顶点的无向完全图有  6   条边。
  25. 具有n个顶点的连通图至少需有  n-1   条边。
  26. 一个连通图的生成树是该图的    极小   连通子图。若这个连通图有n个顶点,则它的生成树有    n-1   条边。
  27. 在有向图的邻接矩阵中,第i行中非零元素的个数正好是第i个顶点的  出度  ;第i列中非零元素的个数正好是第i个顶点的  入度 
  28. 在一个图中,所有顶点的度数之和等于所有边数的   2   倍。
  29. 在无向图G的邻接矩阵A中,若A[i][j]等于1,则A[j][i]等于  1     。
  30. 对二叉排序树进行 中序  遍历,可以得到按关键字从小到大排列的结点序列。
  31. 一个有序表为{1,3,9,12,32,41,45,62,75,77,82,95,100},当折半查找值为82的结点时,经过  4     次比较后查找成功。
  32. 数据结构是指数据及其相互之间的_一种或多种关系____。当结点之间存在M对N(M:N)的联系时,称这种结构为____图状结构_____。
  33. 队列的插入操作是在队列的__队尾___进行,删除操作是在队列的__队头__进行。
  34. 二叉树的前序遍历序列为A,B,C,E,F,D,G,H,中序遍历序列为A,E,C,F,B,G,,H,其后序遍历序列为__ E,F,C,G,H,D,B,A____。
  35. 对于一棵具有n个结点的二叉树,若一个结点的编号为i(0<i<n-1),则它的左孩子结点的编号为  2i      ,右孩子结点的编号为  2i+1     ,双亲结点的编号为  i/2     
  36. 快速排序在平均情况下的时间复杂度为__O(nlog2n)__,在最坏情况下的时间复杂度为__ O(n2)__。
  37. ***从一棵二叉排序树中查找一个元素时,若元素的值等于根结点的值,则表明__查找成功_____,若元素的值小于根结点的值,则继续向__左子树______查找,若元素的大于根结点的值,则继续向__右子树______查找。
  38. ***循环单链表中,最后一个结点的指针域指向______结点。
  39. 假定一棵树的广义表表示为A(C,D(E,F,G),H(I,J)),则树中所含的结点数为_­­­­9_个,树的深度为__3___,树的度为__3__。
  40. 通常从四个方面评价算法的质量:_正确性_、_可读性_、__健壮性__和__效率与低存储量需求_。
  41. 假设一棵完全二叉树含1000个结点,则其中度为2的结点数为___499___。
  42. 一个算法的时间复杂度为(3n3+2n—7)/(5n),其数量级表示为 O(n2)    
  43. 对于一棵具有n个结点的二叉树,用二叉链表存储时,其指针总数为_2n_个,其中_ n-1__个用于指向孩子, n+1__个指针是空闲的。
  44. 从逻辑结构看,线性表是典型的___线性结构__,树是典型的___非线性结构___。
  45. 设二叉树中结点的两个指针域分别为lchild和rchild,则判断指针变量p所指向的结点为叶子结点的条件是____p->lchild==NULL && p->rchild==NULL
  46. 栈是一种__先进后出___表。队列又称为___先进先出___表。
  47. 空串的长度是__0_空格串的长度是__空格的个数_串中所含字符个数称为该串的____长度_.
  48.  在n个结点的单链表中,在P指向的结点之后插入一个结点的时间复杂度为__ O(n)_
  49. 设SQ为循环队列,存储在数组d[m]中,则SQ出队操作对其队头指针front的修改是__ front=(front+1)% m____。
  50. 树的度是指__树内各结点的度____的最大值。
  51. 已知链栈的结点结构为栈顶指针为top,则实现将指针p所指结点插入栈顶的语句依次为__ __p->next=top____top=p__
  • 2
    点赞
  • 61
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 西南交通大学数据结构A期末考试是考察学生对于数据结构知识的掌握程度和应用能力的考试。该门课程是计算机科学与技术专业的基础课程之一,对于学生后续的学习和工作都具有重要意义。 期末考试可能包括选择题、填空题、编程题等。选择题主要通过给出多个选项,考察学生对于概念、原理、算法等知识点的理解。填空题则需要学生根据题目的要求,填写合适的答案,考察学生对于知识点的掌握程度和灵活运用能力。而编程题则要求学生根据给定的问题和要求,编写符合要求的程序,考察学生的编程能力和解决实际问题的能力。 在备考阶段,重点应该放在对于数据结构的基本概念、常见算法和数据结构操作的理解上。需要熟悉各种数据结构(如栈、队列、链表、二叉树等)的定义、特点以及相关的算法和操作。同时,还需要理解各种数据结构之间的联系和应用场景,能够根据实际问题选择合适的数据结构和算法进行解决。 在考试过程中,需要认真阅读题目,理清题意,注意答题的格式和要求。对于选择题,可以先排除明显错误的选项,再根据知识点和逻辑进行选择。对于填空题,要根据题目的要求进行填写,尽量准确和简洁。对于编程题,要先理解问题的要求和限制,再根据自己的编程思路进行代码的编写和调试。 总之,通过充分的复习和实践,加强对于数据结构的理解和应用能力,相信你能够顺利应对西南交通大学数据结构A期末考试。加油! ### 回答2: 西南交通大学数据结构A期末考试是课程结束后的最后一次考核,考察学生对于数据结构的理解和应用能力。考试内容通常包括理论知识和编程实践两部分。 在理论知识方面,考试会涉及数据结构的基本概念、性质和操作等内容。学生需要掌握各种数据结构的特点和适用场景,包括数组、链表、栈、队列、树、图等。同时,还需要了解各种数据结构之间的关系和相互转换的方法。考试中可能会出现选择题、判断题、填空题等形式,要求学生熟悉数据结构的定义、性质和相关算法。 在编程实践方面,考试通常会要求学生根据给定的问题,设计和实现相应的数据结构和算法。这要求学生能够将所学的知识运用到实际问题中,解决实际的编程难题。考试中可能会出现编程题,要求学生用编程语言(如C++、Java)实现某一特定的数据结构或算法。学生需要注意代码的逻辑正确性、健壮性和效率问题。 为了应对数据结构A期末考试,学生需要进行充分的复习和准备。可以参考教材、课堂笔记和习题集,巩固数据结构的相关知识。还可以编写一些小程序来加深和巩固对数据结构的理解。另外,参加课程的讨论和习题讲解活动,及时解决遇到的问题,提高编程能力。 总之,西南交通大学数据结构A期末考试是对学生对于数据结构理论知识和实践能力的综合考核。通过充分的复习和准备,学生可以顺利应对考试,取得好成绩。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值