数据结构试题-考研精选(4)

时间:2025-04-03

sqstack stack; stack.top= -1; lklist *p;

for(p=head;p!=0;p=p->next) {stack.top++; stack.s[stack.top]=p->data;}

for(p=head;p!=0;p=p->next) if (p->data==stack.s[stack.top]) stack.top=stack.top-1; else return(0); return(1); }

2. 设计在链式存储结构上建立一棵二叉树的算法。

typedef char datatype;

typedef struct node {datatype data; struct node *lchild,*rchild;} bitree; void createbitree(bitree *&bt)

{

char ch; scanf("%c",&ch); if(ch=='#') {bt=0; return;}

bt=(bitree*)malloc(sizeof(bitree)); bt->data=ch; createbitree(bt->lchild); createbitree(bt->rchild); }

3. 设计判断一棵二叉树是否是二叉排序树的算法。 int minnum=-32768,flag=1;

typedef struct node{int key; struct node *lchild,*rchild;}bitree; void inorder(bitree *bt) {

if (bt!=0)

{inorder(bt->lchild); if(minnum>bt->key)flag=0; minnum=bt->key; inorder(bt->rchild);} }

数据结构试卷(二)

一、选择题(24分)

1.下面关于线性表的叙述错误的是( )。

(A) 线性表采用顺序存储必须占用一片连续的存储空间 (B) 线性表采用链式存储不必占用一片连续的存储空间

(C) 线性表采用链式存储便于插入和删除操作的实现 (D) 线性表采用顺序存储便于插入和删除操作的实现

2.设哈夫曼树中的叶子结点总数为m,若用二叉链表作为存储结构,则该哈夫曼树中总共有( )个空指针域。 (A) 2m-1 (B) 2m (C) 2m+1 (D) 4m

3.设顺序循环队列Q[0:M-1]的头指针和尾指针分别为F和R,头指针F总是指向队头元素的前一位置,尾指针R总是指向队尾元素的当前位置,则该循环队列中的元素个数为( )。 (A) R-F (B) F-R (C) (R-F+M)%M (D) (F-R+M)%M

4.设某棵二叉树的中序遍历序列为ABCD,前序遍历序列为CABD,则后序遍历该二叉树得到序列为( )。 (A) BADC (B) BCDA (C) CDAB (D) CBDA

5.设某完全无向图中有n个顶点,则该完全无向图中有( )条边。 (A) n(n-1)/2 (B) n(n-1) (C) n2 (D) n2-1

6.设某棵二叉树中有2000个结点,则该二叉树的最小高度为( )。

数据结构试题-考研精选(4).doc 将本文的Word文档下载到电脑

精彩图片

热门精选

大家正在看

× 游客快捷下载通道(下载后可以自由复制和排版)

限时特价:7 元/份 原价:20元

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219