哈尔滨工业大学2008年数据结构真题
全国2008年10月高等教育自学考试数据结构试题

全国2008年10月高等教育自学考试数据结构试题全国2008年10月高等教育自学考试数据结构试题课程代码:02331一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是最符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.如果在数据结构中每个数据元素只可能有一个直接前驱,但可以有多个直接后继,则该结构是()A. 栈B. 队列C. 树D. 图2.下面程序段的时间复杂度为()for (i=0; i<="" p="">for (j=0; j<="" p="">A[i][j]=i*j;A. O (m2)B. O (n2)C. O (m*n)D. O (m+n)3.在头指针为head的非空单循环链表中,指针p指向尾结点,下列关系成立的是()A. p->next==headB. p->next->next==headC. p->next==NULLD. p==head4.若以S和X分别表示进栈和退栈操作,则对初始状态为空的栈可以进行的栈操作系列是()A. SXSSXXXXB. SXXSXSSXC. SXSXXSSXD. SSSXXSXX5.两个字符串相等的条件是()A. 串的长度相等B. 含有相同的字符集C. 都是非空串D. 串的长度相等且对应的字符相同6.如果将矩阵A n×n的每一列看成一个子表,整个矩阵看成是一个广义表L,即L=((a11,a21,…,a n1),( a12,a22,…,a n2),…,(a1n,a2n,…,a nn)),并且可以通过求表头head和求表尾tail的运算求取矩阵中的每一个元素,则求得a21的运算是()A. head (tail (head (L)))B. head (head(head(L)))C. tail (head (tail (L)))D. head (head (tail (L)))7.已知一棵含50个结点的二叉树中只有一个叶子结点,则该树中度为1的结点个数为()A. 0B. 1C. 48D. 498.在一个具有n个顶点的有向图中,所有顶点的出度之和为D out,则所有顶点的入度之和为()A. D outB. D out-1C. D out+1D. n9.如图所示的有向无环图可以得到的拓扑序列的个数是()A. 3B. 4C. 5D. 610.如图所示的带权无向图的最小生成树的权为()A. 51B. 52C. 54D. 5611.对长度为n的关键字序列进行堆排序的空间复杂度为()A. O(log2n)B. O(1)C. O(n)D. O(n*log2n)12.已知用某种排序方法对关键字序列(51,35,93,24,13,68,56,42,77)进行排序时,前两趟排序的结果为(35,51,24,13,68,56,42,77,93)(35,24,13,51,56,42,68,77,93)所采用的排序方法是()A. 插入排序B. 冒泡排序C. 快速排序D. 归并排序13.已知散列表的存储空间为T[0..18],散列函数H(key)=key%17,并用二次探测法处理冲突。
哈尔滨工业大学数据结构与算法历年考题汇总

[期末]2005数据结构与算法试卷试卷类型: 期末试卷年份: 05授课教师: 廖明宏有无答案: 无答案哈工大2005年春季学期数据结构与算法试卷一•填空题(每空1分,共10分)1・假定对线性表(3& 25,74,52,48)进行散列存储,采用H(K)=K %7作为散列函数,若分别采用线性探査法和链接法处理冲突,则对各自散列表进行査找的平均查找长度分别为______ 和_______ C2. _____________________________ 假定一组记录的排序码为(46, 79, 56, 3& 40, 80),对其进行归并排序的过程中, 第二趟归并后的结果为。
3. _____________________________ 在堆排丿了:的过程中,对任一分支结点进行调整运算的时间复杂度为. 整个堆排序过程的时间复杂度为。
4.有向图的邻接矩阵表示法中某一行非0元素的个数代表该顶点的,某一列非0元素的个数是该顶点的。
5. _________________________________________ 对于下面的带权图G3,若从顶点vO出发,则按照普里姆(Prim)算法生成的最小生成树中,依次得到的各条边为_____________________________________ 。
6.山带权为3, 9, 6, 2, 5的5个叶子结点构成一棵哈夫曼树,则带权路径长度为7.由三个结点构成的二义树,共有种不同结构。
二.选择题(每题1分,共10分)1 •快速分类在的情况下不利于发挥其长处.A.待分类的数据量太大B.待分类的数据相同值过多C.待分类的数据已基本有序D.待分类的数据值差过大.2•两路归并排序中,归并的趟数是。
A. 0(n)B. 0(log2n)C. 0(nlog2n)D. 0(n2)注意行为规范遵守考场纪律第1页,共6页3.对外部分类的K路平衡归并,采用败者树时,归并的效率与K OA.有关B•无关C•不能确定D.都不对4.对于一个索引顺序文件,索引表中的每个索引项对应主文件中的°A.—条记录B.多条记录C.所有记录D.三条以上记录5••若线性表采用顺序存储结构,每个元素占用4个存储单元,第一个元素的存储地址为100,则第12个元素的存储地址时。
计算机专业基础综合数据结构(树和二叉树)历年真题试卷汇编13

计算机专业基础综合数据结构(树和二叉树)历年真题试卷汇编13(总分:66.00,做题时间:90分钟)一、综合题(总题数:4,分数:12.00)1.已知下列字符A、B、C、D、E、F、G的权值分别为3、12、7、4、2、8,11,试填写出其对应哈夫曼树HT的存储结构的初态和终态。
【北京工业大学1998五(10分)】__________________________________________________________________________________________正确答案:(设T是一棵二叉树,除叶子结点外,其他结点的度数皆为2,若T中有6个叶结点,试问:(分数:6.00)(1).T树的最大可能深度Kmax=?最小可能深度Kmin=?__________________________________________________________________________________________ 正确答案:(正确答案:(1)T树的最大深度:Kmax=6(除根外,每层均是两个结点)。
T树的最小深度Kmin=4(具有6个叶子的完全二叉树是其中的一种形态)。
)(2).T树中共有多少非叶结点?__________________________________________________________________________________________ 正确答案:(正确答案:非叶子结点数是5(n2=n0—1)。
)(3).若叶结点的权值分别为1,2,3,4,5,6。
请构造一棵哈曼夫树,并计算该哈曼夫树的带权路径长度wp1。
【北京邮电大学1992一、3(15/3分)】__________________________________________________________________________________________正确答案:(正确答案:哈夫曼树见右图,其带权路径长度wp1=51。
计算机实用基础07-08秋季

哈尔滨工业大学(威海) 2007 / 2008 学年 秋 季学期姓名: 班级: 学号:遵守 考 试 纪 律注 意 行 为1. 世界上公认的第一台电子计算机是()。
A)ENIAC B)EDSAC C)EDV AC D)ABC2. ASCII码的英文全称是()。
A)American Standard Code for Information InterchangeB)Standard Code for Information InterchangeC)All Standard Code for Information InterchangeD)Addached Standard Code for Information Interchange3. 在计算机的五大组成部分中存储器可分为()。
A)硬盘和软盘B)主存和辅存C)RAM和ROM D)光盘和磁带4. 同一计算机中,可以有多种不同的存储器,如:内存、软盘、硬盘、磁带和CDROM等,各种存储介质存储容量不同,()的容量依次从小到大。
A)内存、硬盘、3.5英寸软磁盘和磁带B)3.5英寸软磁盘、5.25英寸软磁盘、磁带和内存C)5.25英寸软磁盘、3.5英寸软磁盘、内存和硬盘D)硬盘、5.25英寸软磁盘、3.5英寸软磁盘和光盘5. 在MSDOS中被称为()。
A)引导程序B)输入输出系统C)命令处理程序D)文件系统6. 计算机中所有信息的存储都采用()。
A)二进制B)八进制C)十进制D)十六进制7. 在DOS提示符状态下,要在当前行逐字符地复制上次命令,按()键。
A)F1 B)F2 C)F3 D)F48. 在同一张软磁盘上,DOS()。
A)允许同一子目录中有两个文件同名,也允许不同子目录中有两个文件同名B)不允许同一子目录中有两个文件同名,也不允许不同子目录中有两个文件同名C)允许同一子目录中有两个文件同名,但不允许不同子目录中有两个文件同名D)不允许同一子目录中有两个文件同名,但允许不同子目录中有两个文件同名9. 下列DOS命令中与路径有关的命令是()。
数据结构研究生入学考试模拟题(一)

哈尔滨工业大学二〇〇八年硕士研究生考试模拟试题(一)考试科目:计算机专业基础适用专业:计算机科学与技术I 数据结构(含高级语言)部分(共75分)一、填空题(每空1分,共9分)+−++的后缀表达式1.表达式23((12*32)/434*5/7)108/9是。
2.设有一个10阶对称矩阵A采用压缩存储方式(以行为主序存储:a11=1),则a85的地址为。
3.设有广义表A=(((a,b),x),((a),(b)),(c,(d,(y)))),得到y的对广义表A的操作序列为。
4.如果二叉树有20个叶结点,有30个结点仅有一个孩子,则该二叉树的总节点数为。
5.G是一个非连通无向图,共有28条边,则该图至少有个顶点。
6.构造n个结点的强联通图,至少有条弧。
7.设表长为1023的有序线性表,查找每个元素的概率相等,采用折半查找方法,查找成功的ASL是。
8.分别采用堆排序、快速排序、冒泡排序和归并排序,对初太为有序的表,则最省时间的是算法,最费时间的是算法。
二、单项选择题(每题1分,共11分)1.静态链表中指针表示的是()A 下一元素的地址B 内存储器的地址C 下一元素在数组中的位置D 左链或右链指向的元素的地址2.计算算法的时间复杂度是属于一种()A 事前统计的方法B 事前分析估算的方法C 事后统计的方法D 时候分析估算的方法3.若用一个大小为6的数组来实现循环队列,且当前rear和front的值分别为0和3,当从队列中删除一个元素,再加入两个元素后,rear和front的值分别为()A 1和5B 2和4C 4和2D 5和14.若6行5列的数组以列序为主序顺序存储,基地址为1000,每个元素占2个存储单元,则第3行第4列的元素(假定无第0行第0列)的地址是()A 1040B 1042C 1026D 都不正确5.一棵124个叶节点的完全二叉树,最多有()个节点。
A 247B 248C 249D 250E 251 6.有n (n>0)个分支结点的满二叉树的深度为( ) A n 2-1 B log 2(n+1)+1 C log 2(n+1) D log 2(n-1) 7.某二叉树结点的中序序列为BDAECF ,后续序列为DBEFCA ,则该二叉树对应的森林包括( )棵树。
哈工大数据结构期末试题判断选择(难度大)

1. 判断题(共20分)------------------------------------------------------------------------------------------------------------ (1). 顺序存储的线性表可以随机存取。
()答案:是(2). 对于n个记录的集合进行归并排序,所需要的附加空间数是0(n)。
()答案:是(3). 矩阵压缩存储的方法是用三元组表存储矩阵元素。
()答案:否(4). 进栈操作push(x,s)作用于链接栈时,无须判满。
()答案:是(5). 在堆中执行insert与deletemin运算都只需o(log2n)时间。
( )答案:是(6). 在索引顺序表查找方法中,对索引顺序表可以使用顺序表查找方法,也可以使用二分查找方法。
()答案:是(7). 因为算法和程序没有区别,所以在数据结构中二者是通用的。
( )答案:否(8). 按中序遍历一棵二叉排序树所得到的中序遍历序列是一个递增序列。
( )答案:是(9). 线性表中的元素可以是各种各样的,但同一线性表中的数据元素具有相同的特性,因此是属于同一数据对象。
()答案:否(10). 对于n个记录的集合进行冒泡排序,所需要的平均时间是O(n)。
()答案:否2. 选择题(共20分)------------------------------------------------------------------------------------------------------------ (1). 在一棵度为3的树中,度为3的结点数为2个,度为2的结点数为1个,度为1的结点数为2个,那么度为0的结点数为__个。
A:4 B:5 C:6 D:7答案: C(2). 设关键字序列为:3,7,6,9,8,1,4,5,2。
进行排序的最小交换次数是__。
A:6 B:7 C:8 D:20答案:A(3). 在一个单链表中,若删除p所指结点的后继结点,则执行( )。
2008年哈尔滨工业大学研究生入学考试(流体力学)真题试卷
2008年哈尔滨工业大学研究生入学考试(流体力学)真题试卷(总分:22.00,做题时间:90分钟)一、简答题(总题数:6,分数:12.00)1.粘性及粘性的表示方法(分数:2.00)___________________________________________________________ _______________________________正确答案:(正确答案:粘性是施加于流体的应力和由此产生的变形速率以一定的关系联系起来的流体的一种宏观属性,表现为流体的内摩擦。
粘性的表示方法包括绝对粘度、相对粘度、运动粘度。
)解析:2.流线与迹线(分数:2.00)___________________________________________________________ _______________________________正确答案:(正确答案:流线是某瞬时流场中的一条空间曲线,该瞬时曲线上的点的速度与该曲线相切。
迹线则是指流体微元的运动轨迹。
)解析:3.断面平均流速与时间平均流速(分数:2.00)___________________________________________________________ _______________________________正确答案:(正确答案:流经有效截面的体积流量除以有效截面积而得到的商其即为断面平均流速,其计算式为V=。
在某一时间间隔内,以某平均速度流经微小过流断面的流体体积与以真实速度流经此微小过流断面的流体体积相等,该平均速度称为时间平均流速,其计算式为v=。
)解析:4.层流与紊流(分数:2.00)___________________________________________________________ _______________________________正确答案:(正确答案:层流是指定向有规律的恒定流动。
数据结构试卷2009A答案
无序堆 ③
有序初始堆
SIFT(int i,int n,LIST A) {int j; records temp; temp=A[i];j=2*i; while (j<=n) {if ((j<n)&&(A[j].key<A[j+1].key)) j++; if(temp.key<A[j].key) {A[i]=A[j]; i=j;j=2*i; }else break; }A[i]=temp;} 或 void pushdown(int first,int last)//first 是需调整结点 {int r=first; while(r<=last/2) if((r==last/2&&(last%2==0)){ if(A[r].key>A[2*r].key) swap(A[r],A[2*r]); r=last; } else if((A[r].key)>A[2*r].key)&&(A[2*r].key<=A[2*r+1].key) swap(A[r],A[2*r]); r=2*r; } 9.某国有火车站若干个,每个车站有可容纳人数及可停火车数两 项指标。(本题 10 分) (1)写出图的存储结构(3 分) (2)在图中编写算法,计算该国火车点共能容纳多少人及总的可 停火车总数。 (7 分) (必须用 C 或 C++语言描述) 答:
int Width(Bitree T ){ //求树宽 int count[ ]; //增开 count 向量,存放各层对应的结点数 InitQueue(Q); //队列初始化,Q 的元素为 BTNRecord 类型 EnQueue(Q,{T, 0}); // 根 结 点 入 队 , 0 表 示 count[0] , 下 标 值 while(!QueueEmpty(Q)) { DeQueue(Q, r); //结点出队 count[yer]++; //出队时再把 结 点 对 应 层 的 计 数 器 加 if(r.node->lchild) EnQueue(Q,{r.node->lchild, yer+1}); if(r.node->rchild) EnQueue(Q,{r.node->rchild, yer+1}); } //按层序入队时要随时标注结点所在层号 h=yer; //最后一个队列元素所在层就是树的高度 for(maxn=count[0], i=1; h; i++) if(count[i]>maxn) maxn=count[i]; //求出哪一层结点数最多 return (h*maxn)} // Width 法二:若不用辅助数组,不用层数分量也可以,关键在于如何区别层与层。 有两种方法: 一、通过比较指针判断是否到达新的一层的开始; 二、通过比较指针判断是 否到达当前层的末尾. 由于方法一对新的一层的开始点不易确定,比较次数要多于第二种,因此 推荐第二种。 对任意种类的树都适用,二叉树类似可得。 算法如下: //-----------------------------------------------------------------------------------------// TreeWidth 求树的宽度 // 不用辅助数组,不用层数分量 // 思路: // 1.以两个整型变量存宽度,一个表示当前层的节点数,一个表示当前已 知最大宽度,当遍历完一层后立即判断两者大小,保留大者。 // 2.通过比较指针判断是否到达本层的末尾,以确定层与层间的关系。 教研室主任签字: 第 7 页 共 10 页
数据结构2008年A卷
信息学院本科生2007-2008学年第二学期数据结构期末考试试卷(A卷)专业:______________年级:______________学号:______________姓名:______________成绩:______________一、选择题(本题共25分)1.(1分)简单队列对数据处理的方式是__________。
A. 先来先服务B. 后来先服务C. 先来后服务D. 以上均不对2.(2分)下面哪些问题的求解应用了栈?____________。
A.函数调用时保存函数的参数、局部变量等。
B.检查括号匹配。
C.图的宽度优先搜索。
D.基于深度优先搜索的图的拓扑排序过程。
3.(2分)通过相邻元素比较-交换进行排序的算法,如插入排序、起泡排序等,其平均时间复杂性最好只能达到__________。
A.Θ(n) B.Θ(nlogn)C.Θ(n2) D.Θ(n3)4.(2分)基数排序要求每阶段的排序算法是____________。
A.稳定的B.不稳定的C.A、B皆可D.以上均不对5.(2分)f(n)=O(n),g(n)=O(n),下面哪些等式成立?_________________A.f(n)+g(n) = O(n) B.f(n)-g(n) = O(n)C.f(n)/g(n) = O(1) D.f(n) = O(g(n))6.(2分)采用Hash技术,下面哪些操作性能不佳?____________A.搜索给定关键字。
B.按关键字升序排列输出所有元素。
C.删除给定关键字的元素。
D.输出关键字升序排列位于第k位的元素。
7.(4分)7个关键字的4阶B-树有几种可能的结构?____________A.8 B.9C.10 D.118.(2分)二叉搜索树中一个节点两棵子树均非空,删除它可转换为删除____________或____________。
A.该节点的左子树的最左节点B.该节点的左子树的最右节点C.该节点的右子树的最左节点D.该节点的右子树的最右节点9.(2分)设有一个双端队列deque,允许在队列的两端进行插入和删除操作。
哈尔滨工业大学2003-2008年硕士研究生入学考试(计算机)试题
哈尔滨工业大学2003-2008年硕士研究生入学考试(计算机)试题哈尔滨工业大学2008年考研试题Ⅰ数据结构部分一填空题1.已知一个线性表有n个元素,其中每个元素的数据占8个字节,假设一个指针的大小为 4个字节,如果采用有30个元素的数组存储,那么当数组中有效元素个数满足⑪条件时,数组的存储效率比不带头结点的单链表更高。
2. 给定14个字母,假设它们的权值都相等.采用huffman编码,则每个字母的平均代码长度是⑫。
3. 按C语言的运算符优先级,中缀表达式“A&&B||!(E>F)”的等价后缀形式为⑬。
4. 设按顺时针方向移动的循环队列Q[N]的头尾指针分别为F、R,头指针F总是指在队列中的第一个元素的前一位置,尾指针R 在最后一个元素的位置,则队列中的元素个数为⑭。
5. 从空二叉树开始,严格按照BST(二又查找树)的插入算法,逐个插入关键字{18,73,10,5,68,99,27,41,32,25)构造出一颗BST ,对该BST按照先根遍历得到的序列为⑮。
6. 将两个长度为m的有序序列归并为一个有序序列,最少需要做⑯次关键字比较,最多需要做⑰次关键字比较。
7. 散列查找中,⑱现象称为冲突,⑲现象称为聚集。
8. 设可用的内存单元可处理4个记录,采用4 路归并的选择树法生成由小到大的初始归并段,对有12个记录在案的文件,产生的第一个初的归并段长度为⑳个。
9. 在两种求图的最小生成树的算法中,⑴算法适合于边稀疏的图的最小生成树。
10. 已知一个序列为{21,39,35,12,17,43},则利用堆排序方法建立的初始堆为:⑵。
二、判断(每题1分.共9分)1. 倒排文件只能按关键字的顺序存储。
(①)2. 堆的存储表示可能是链接式的,也可以是顺序的。
(②)3. 在AOE网中,任何一个关键活动的延迟,都会使整个工程延迟。
(③)4. 有环路的有向图不能进行拓扑排序。
(④)5. 对无向图进行一次深度优先搜索可以访问到图中的所有顶点。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
哈尔滨工业大学计算机研究生2008年数据结构考研真题
请考生注意:本试卷中需考生定义的数据结构和编写的算法,可用类PASCAL语言或类C语言来描述。
一、回答下列问题(30分,每小题6分)
1. 数据的存储结构(物理结构)通常有顺序存储结构和链式存储结构两种,说明他们是如何表达数据间的逻辑关系的?
2. 给出栈的定义,举例说明栈适合应用于什么场合。
3. 证明:对于任意满二叉树,其分枝数B=2(n -1),其中n 为叶子结点个数。
4. 简述求解图最小生成树算法的主要思想。
5. 比较堆排序和快速排序的最差、平均时间复杂度和空间复杂度。
二、算法设计(45分,每题15分)
1. 设计算法求二叉树中叶子结点的个数。
2. 已知无向图的顶点信息存于数组a<1>,…,1中,边集是顶点数组下标对(i, j)的集合表示,(i, j)是对应顶点在数组a中的下标,设计算法建立该无向图的邻接表结构。
3. 一个线性表中的元素为正整数和负整数,设计算法使负整数排在线性表的前部,正整数排在线性表的后部,要求时间复杂度为),空间复杂度为是线性表中元素的个数)。
一、简要回答下列问题(每小题5分,共计35分)
1. 简述算法的概念,如何判断一个算法的好坏?
2. 已知某字符串S共有6种字符,各种字符分别出现2次、1次、7次、5次、4次、12次,对该字符串用{0, 1}进行前缀编码。
问该字符串的编码至少有多少位?
3. 已知二叉树BT各结点的前序、中序遍历序列分别为A、B、C、D、E、F和C、B、A、E、D、F,试画出该二叉树。
4. 设栈的输入序列是(1,2,3,4),给出不可能的出栈序列,并说明为什么?
5. 若对序列(28,47,51,29,18,12,25,10)按升序进行排列,分别给出第一趟起泡排序、第一趟快速排序的结果,并分别说明主要思想。
6. 请填写下表。
7. 给出下面有向无环图的拓扑序列,并说明求解该拓扑序列的主要思想。
二、设计算法实现单链表的逆转。
要求逆转在原链表上进行,不允许重新构造一个链表。
(10分)
三、以二叉链表做存储结构,编写计算二叉树中叶子结点个数的非递归算法。
(10分)
四、已知记录的关键字集合为(53,17,19,61,98,75,79,63,46,49),要求散列到地址区间(200,201,202,203,204,205,206,207,208,209)内,若产生冲突则用线性探测法解决,请写出选用的散列函数、形成的散列表、计算查找成功的平均查找长度(假设等概率情况)。
(10分)
五、在数组A<1:n>中随机散列着1、2、3三个值,设计一个算法,把这n个数排列成非递减序,要求算法的时间复杂度为O(n)。
(10分)
一、简要回答下列问题(每小题4分,共计20分)
1.算法的定义及算法的重要特性。
2.对于堆栈有如下输入序列a1a2…an,请证明不可能得出如下形式的输出序列…ai…aj…ak…,其中1≤j<k<i≤n。
3.证明:对任何一棵二叉树T,如果其终端结点数为n0,度为2的结点数为n2,则n0=n2+1。
4.以关键码序列(50,08,51,06,90,17,89,27,65,42)为例,手工执行以下排序算法,写出一趟排序结束时的关键码状态。
①直接插入排序
②快速排序
③归并排序
5.给出下面无向带权图的最小生成树,并说明您是采用何种算法得出的最小生成树。
二、设线性表L=(a1,a2,…,an)采用单链表作存储结构,编写算法完成在元素值为k的元素前插入一个元素x。
三、编写非递归算法,计算二叉树中叶子结点的数目。
(6分)
四、编写算法,由依次输入的顶点数目、弧的数目、各顶点的信息和各条弧的信息建立有向图的邻接表。
(8分)
五、已知(a1,a2,…,ap)是堆,则可以写一个时间复杂度为O(log2n)的算法将(a1,a2,…,ap,ap+1)调整为堆。
试编写“从p=1起,逐个插入建堆”的算法,并讨论由此方法建堆的时间复杂度。
(10分。