数据结构考研真题.pdfVIP

  • 0
  • 0
  • 约2.12千字
  • 约 3页
  • 2026-02-15 发布于北京
  • 举报

table{border-collapse:collapse;}table,th,td{border:1pxsolid#000;}

工业大学1995年数据结构试题

一.(共30分,每小题6分)

1.输入一组关键字49,38,65,97,76,13,27,38,44,82,35,50,画出由此而生成的二叉

排序树。如果对每一个关键字的查找概率相等,求其平均查找长度ASL。

2.对如图(上图)所示的有向图,画出相应的邻接表结构。

(3)画出广义表(e,(a),((b,c),d))的存贮表示。

(4)如下一组关键字表25,67,18,24,38,64,55,22,15,48判断其是否为

堆,若不是堆,请调整为一个堆,写出调整的过程。

(5)已知下列关键字和它们对应的哈希函数值

keyTeassateeastsetaeatseatsseat

H(key)4614765

试构造长度为8的哈希表,用线性探测再散列解决,并求出装填因子α和平均查找长

度ASL。

二.(16分)如果进栈用“1”表示,退栈用“0”表示,则一串由0和1组成的字符串就表示了

某栈的动态执行情况,例如“1011”代表进栈、退栈、进栈、进栈。设栈空间大小为M,字

符串长为N且由一维数组存放,用算法判断是否会有上溢(OVERFLOW)和下溢

(UNDERFLOW)发生。

三.(16分,统考生)用循环链表作线性表(a1,a2,…am)和(b1,b2,…bn)的存贮结构,

头指针分别为hm和hn。设计算法,把两个线性表合并成形如(a1,b1,a2,b2,a3,…)的线性

表,要求不开辟新的动态空间,利用原来循环链表的结点完成和并操作,结构仍为循环链

表,头指针为HEAD。分析算法的时间复杂度。

四.(16分,单考生)设计算法,利用二分查找的思想,在有序表中查一个元素X,

使表的有序性不变。分析算法的时间复杂度。

五.(18分,统考生)若一棵二叉树中没有数据域值先相同的结点,设计算法打印数据域

值为X的所有祖先结点的数据域。如果根结点的数据域值为X或不存在数据域值为X的

结点,则什么也不打印。例如下图所示的二叉数,则打印结点序列为A、C、E。

六.(18分,单考生)再二叉排序树的结构中,有些数据元素值可能是相同的,设计一个

算法实现按递增有序打印结点的数据域,要求相同的数据元素仅输出一个,算法还应能报

出最后被滤掉,而未输出的数据元素个数,对如图所示的二叉排序树,输出为:10,12,

13,15,18,21,27,35,42.滤掉3个元素。

七、(20分)某个任务的数据模型可以抽相象为给定的K个集和:S1,S2、、,Sk。其

中S1(1〈I〈K〉中的元素个数不定。在处理数据过程中将会涉及到元素的查找和新元素的

两种操作,查找和时用一个二元组(I,X)来规定一个元素,I是集和的序号,

X是元素值。设计一种恰当的数据结构来这K个集和的元素,并能高效的实现所要求

的查找和操作。

1.借助Pascal的数据类型来构造和描述你所选定的数据结构,并且说明选择的理由;

2.若一组数据模型为S1  {10.2, 1.7, 4.8, 16.2},S2  {1.7, 8.4, 0.5},

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档