扬大858简答题和名词解释汇总


1.建立堆栈的三种方法:
(1)每个栈仅用一个顺序存储空间时,操作简单,但若是分配存储空间小了容易产生溢出;分配空间大了容易造成浪费,且各栈不能共享空间。
(2)多个栈共享一个顺序存储空间时,充分利用了存储空间,只有在整个存储空间用完时才会产生溢出。其缺点时,当一个栈满时要向左右查询有无空闲单元,计算复杂且浪费时间
(3)多个链栈一般不考虑栈的溢出,仅受用于内存空间限制。缺点是栈中元素要以指针相连,比顺序存储多占了存储空间

2.何谓队列的上溢现象和假溢出现象?解决它们有哪些方法?
(1)上溢现象:在队列的顺序存储结构中,设头指针为front,队尾指针rear,队的容量(存储空间的大小)为m。当有元素加入到队列时,若rear=m(初始rear=0),则发生队列的上溢出现象,该元素不能加入队列。

解决方法:建立一个足够大的存储空间,缺点是容易造成空间使用率低。

(2)假溢出现象:当队列中还有剩余空间,但是元素不能进队。造成这种现象的原因是由于队列的操作方式不当

解决方法:采用循环队列的方式。把队列看成一个首尾相邻的循环队列,虽然物理上队尾在队首之前,但是逻辑上队首仍然在前,作插入和删除运算时仍按照“先进先出”

3.什么是数据结构?有关数据结构的讨论涉及哪三个方面?
(1)数据结构是相互之间存在一种或者多种特定关系的数据元素的集合
(2)逻辑结构

4.何时选用顺序表,何时选用链表作为线性表的存储结构为宜?
在顺序表中插入和删除一个结点平均移动多少个结点?
具体的移动次数取决于哪两个因素?
(1)基于空间考虑:当存储的线性表长度变化不大,易于事先确定其大小时,为了节约存储空间应选用顺序表;当线性表长度变化大,难以估计其存储规模时,应该选用链表。
基于时间考虑:当线性表主要是进行查找操作,很少进行删除或者添加操作时,选顺序表。如果要频繁进行删除或添加操作,选链表

(2)在顺序表中插入一个结点平均移动n/2个结点,删除一个结点平均移动(n-1)/2个结点

(3)移动次数取决于线性表的长度和待操作元素所处的位置

5.试分别找出满足以下条件的所有二叉树:
(1)二叉树前序序列和中序序列相同:空树,没有左子树的单支树
(2)二叉树前序序列和中序序列相同:空树,没有右子树的单支树
(3)二叉树前序序列和中序序列相同:空树,只有根节点的二叉树

6.写出下列描述的是什么排序方法?
(1)每次从无序表中取一个元素,把它插入到有序表中的合适位置——插入排序
(2)每次从无序表中挑选一个最小或者最大的元素,把它交换到有序表的一端——选择排序
(3)每次直接或通过基准元素间接比较两个元素,如果出现逆序,交换它们的位置——交换排序
(4)每次使两个相邻的有序表合并成一个有序表——二路归并排序

7.什么是算法?算法的五个特征是什么?试根据这些特性解释算法与程序的区别。
(1)算法是对特定问题求解步骤的描述,是指令的有限序列
(2)算法的五个特性:有穷性、确定性、可行性、有输入、有输出
(3)算法与程序的区别:算法代表了对问题的解,而程序则是算法在计算机上的特定实现。
一个程序不一定满足有穷性。程序中的指令必须是机器可执行的,而算法中的指令则无此限制。
算法是面向功能的,通常是面向过程的方式描述。而程序可以用面向对象的方式搭建框架。

8.一种抽象数据类型包括数据操作

9.对于n个不同关键字的元素进行冒泡排序,在顺序情况下比较次数最少,其比较次数为n-1。在逆序的情况下比较次数最多,其比较次数为n*(n-1)/2

10.二分折半查找的查找速度一般比顺序查找的速度快,设有100个元素,用二分折半查找时,最大的比较次数是7,最小的比较次数是1

11.数据的逻辑结构分为:集合、线性结构、树形结构、图状结构

12.森林的后序遍历序列正是相应二叉树的中序遍历序列,森林的先序遍历序列正是相应二叉树的先序遍历序列。

13.设有一稠密图G,则G采用邻接矩阵存储较节省空间。设有一稀疏图G,则G采用邻接表存储较省空间

14.在单链表设置表头结点的作用是插入和删除表中第一个元素时,不必对首元结点进行特殊处理

15.请分别给出数据、数据对象、数据元素、数据项的含义,并说明四者关系
(1)数据:是对信息的一种符号表示,在计算机科学中是指所有能输入到计算机中并能被计算机程序处理的符号的总称
(2)数据对象:性质相同的数据元素的集合,是数据的一个子集
(3)数据元素:是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理
(4)数据项:相当于记录的“域”,是数据的不可分割的最小单位
(5)四者关系:数据泛指所有。数据对象是数据的一个子集,由数据元素组成,数据元素由数据项组成

16.请问如果要插入一个数据到一个线性表中,顺序表和链表哪个效率更高,为什么?
(1)链表效率更高
(2)因为顺序表移动插入位置后的所有元素给新插入的元素挪位置。链表只需要更改插入位置前后两个结点的指针即可。

17.在计算机进行计算时,需要把十进制转换成二进制。请回答,这种数制转换可以借助哪种数据结构实现?给出理由
(1)可以借助栈实现
(2)在进行数制转换时,其实质是求余的过程,并且余数的倒序序列正是所求结果。栈是一种先进后厨的线性结构,能满足这种条件。

18.循环队列的优点是什么?如何判断它的空和满?
(1)优点:能够解决“假溢出”现象,并使得队列空间得到充分利用
(2)判空条件:rear==front;判满条件:(rear+1)%maxsize=front

19.请证明:任意一棵具有N个结点的满二叉树(N>0)的叶结点个数为(N+1)/2
证明:假设n0、n1、n2,分别是二叉树度为0,1,2结点度为0,1,2结点的个数。
首先由二叉树性质可得n0=n2+1
又因为二叉树为满二叉树,有N个结点
所以N=n0+n1+n2,且n1=0
所以n0=N-n2
所以2n0=N+1,即n0=(N+1)/2

20.名词解释:
JCB:
为了管理和调度作业,在多道批处理系统中,为每个作业设置了一个作业控制块JCB,它是作业在系统中存在的标志,其中保存了系统对作业进行管理和调度所需的全部信息。通常在JCB中保存的内容有:“作业标识、用户名称、用户账号、作业类型、作业状态、调度信息等”

虚拟设备:
通过虚拟技术将一台独占设备虚拟成多台逻辑设备,供多个进程同时使用,通常把这种经过虚拟的设备成为虚拟设备。

平衡二叉树:
平衡二叉树是一种二叉排序树,其中每个结点的左子树和右子树的高度之差不超过1。二叉平衡树是一种高度平衡的二叉排序树。

强连通图:
在一个有向图中,若任意两个顶点都是连通的,则称为强连通图

局部性原理:
CPU访问存储器时,无论是存取指令还是存取数据,所访问的存储单元趋于聚集在一个较小的连续区域中

临界资源:
一次仅能允许一个进程使用的资源称为临界资源,比如打印机

重连通图:
无向图中,如果任意两个顶点之间不止一个通路,则称为重连通图

索引顺序文件:
索引顺序文件是顺序文件的拓展,其中各记录本身在介质上也是顺序排列的,它包含了直接处理记录的能力。

HASH函数:
HASH函数是指把任意长度的输入通过散列算法变成固定长度的输出函数,输出的就是散列值。

有向完全图:
有向完全图中任意两个顶点之间都存在方向互为相反的两条边,即为有向完全图

  • 10
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

劲夫学编程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值