- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构试卷(一)
三、计算题(每题 6分,共24 分)
在如下数组A中链接存储了一个线性表,表头指针为 A [0].next ,试写出该线性表。
2.请画出下图的邻接矩阵和邻接表。
2.
请画出下图的邻接矩阵和邻接表。
60
50
78
90
34
40
3
5
7
2
0
4
1
3 4 5 6 7
data n ext
已知一个图的顶点集 V和边集E分别为:V={1,2,3,4,5,6,7};
E={(1,2)3,(1,3)5,(1,4)8,(2,5)10,(2,3)6,(3,4)15, (3,5)12,(3,6)9,(4,6)4,(4,7)20,(5,6)18,(6,7)25};
用克鲁斯卡尔算法得到最小生成树,试写出在最小生成树中依次得到的各条边。
画出向小根堆中加入数据 4, 2, 5, 8, 3 时,每加入一个数据后堆的变化。
四、阅读算法(每题 7分,共14分)
LinkList mynote(LinkList L)
{ ey!=khashtable[j].flag!=0){j=( ) %m; if (i==j) return(-1);}
if ( ) return(j); else return(-1);
}
下列算法实现在二叉排序树上查找关键值 k,请在下划线处填上正确的语句。
typedef struct node{int key; struct node *lchild; struct node *rchild;}bitree;
bitree *bstsearch(bitree *t, int k)
{
if (t==0 ) return(0);else while (t!=0)
if (t-key==k) ; else if (t-keyk) t=t-lchild;
else ;
}
三、计算题(每题10分,共30分)
已知二叉树的前序遍历序列是 AEFBGCDHIKJ中序遍历序列是 EFAGBCHKIJ,画出此二叉
树,并画出它的后序线索二叉树。
已知待散列的线性表为(36, 15,40,63, 22),散列用的一维地址空间为[0 .. 6],假定 选用的散列函数是 H( K) = K mod 7,若发生冲突采用线性探查法处理,试:
(1 )计算出每一个元素的散列地址并在下图中填写出散列表:
0 1 2 3 4 5 6
(2)求出在查找每一个元素概率相等情况下的平均查找长度。
已知序列(10, 18, 4, 3, 6, 12, 1, 9,里,8)请用快速排序写出每一趟排序的结果。 四、算法设计题(每题15分,共30分)
设计在单链表中删除值相同的多余结点的算法。
设计一个求结点x在二叉树中的双亲结点算法。
数据结构试卷(四)
设一组初始记录关键字序列为 (20, 18, 22, 16, 30, 19),则以20为中轴的一趟快速
TOC \o 1-5 \h \z 排序结果为 。
设一组初始记录关键字序列为 (20,18, 22,16, 30,19),则根据这些初始关键字序列
建成的初始堆为 。
设某无向图G中有n个顶点,用邻接矩阵 A作为该图的存储结构,则顶点 i和顶点j
互为邻接点的条件是 。
设无向图对应的邻接矩阵为 A,则A中第i上非0元素的个数 第i列上非0
元素的个数(填等于,大于或小于)。
设前序遍历某二叉树的序列为 ABCD中序遍历该二叉树的序列为 BADC则后序遍历该
二叉树的序列为 。
设散列函数H(k)=kmodp,解决冲突的方法为链地址法。要求在下列算法划线处填上 正确的语句完成在散列表 hashtalbe中查找关键字值等于 k的结点,成功时返回指向关
键字的指针,不成功时返回标志 0。
typedef struct node {int key; struct node *n ext;} lklist;
void createlkhash(lklist *hashtable[]) {
int i,k; lklist *s;
for(i=0;im;i++) ;
for(i=0;i n; i++)
{
s=(lklist *)malloc(sizeof(lklist)); s_key=a[i]; k=a[i] % p; s-next=hashtable[k]; ;
} }
三、计算题(每题10分,共30分)
1、 画出广义表 LS=(( ) , (e) , (a , (b , c , d ))) 的头尾链表存储结构。
2、 下图所示的森林:
求树(a)的先根序列和后根序列;
求森林先序序列和中序序列;
将此森林转换为相应的二叉树;
3、设散列表的地址范围是 [0..9 ],散列函数为 H( key) = ( key 2 +2) MOD 9,并采用链 表处理冲突,请
原创力文档


文档评论(0)