王为民的技术和生活空间

练内功、勤实战、学习数学、迸发创新意识、注重团队精神,把握好前进的方向…………

用户操作
[即时聊天] [发私信] [加为好友]
王为民ID:ningboweimin
93346次访问,排名1066,好友17人,关注者23人。
08.05-至今 深圳清华力合通信有限公司 MMI开发
07.09--08.05 深圳胜博联技术有限公司 MTK MMI开发。
05.12-07.08 宁波高凌通信技术有限公司工作,主要负责双膜(GSM/PHS)手机及小灵通的研究和开发,平台涉及展讯及东芝。
05.6-05.12 国家数字交换系统工程技术研究中心(NDSC) 主要从事路由器路由协议调试和开发,具体负责多协议标志交换(MPLS)模块,深入了解了其信令和控制协议——标记分发协议(LDP)。
ningboweimin的文章
原创 104 篇
翻译 1 篇
转载 105 篇
评论 18 篇
王为民的公告
清新家园

关注C语言,关注生活。 QQ:94686732 Msn:wwmzxy@hotmail.com
wangweiminxy@gmail.com
XING
最近评论
sap99:www.sap99.com/,SAP99资料多多

SAP免费资料下载
http://www.sap99.com

有很多的学习资料,推荐一下,
ningboweimin:自己顶下先。。。
wuqifeng0101:你好 不知道你能不能提供信大微电子专业的专业课试题数字电路和微机原理 谢谢!
wangseaya:真是幸福的一对啊
羡慕ing
祝福ing
sunag:天仙配
羡慕
嫂子真漂亮
吼吼
不过呢
你有点胖了
尤其是肚子
要多运动啊
文章分类
收藏
相册
户外婚礼
美丽风景
我和朋友
行网聚会
IT技术
IBM技术专家群
ITPUB
MSDN中国
VC知识库
中国Unix技术
中国系统分析师
嵌入式资讯网
红联LINUX
计算机世界
软件工程专家网
管理天地
IT经理世界
华尔街日报
好书阁
《华为真相》
《商道》
《墨迹》
《没有任何借口》
《细节决定成败》
朋友圈
My Gallery
XING宁波
军华
冰儿
可爱狼
小潘
嵐曦一尘
月光博客
朗朗星空
梅花三弄
永超
江涛
瀚海星尘
程军剑
管为为
胡雪儿
馨荣家园
网络通信
Cisco网络技术
中国3G通信网
中国协议分析网
中国通信资源网
休闲娱乐
Google黑板报
Mofile TV
人民网
英语学习网
行网中国
存档
软件项目交易
订阅我的博客
XML聚合  FeedSky
订阅到鲜果
订阅到Google
订阅到抓虾
订阅到BlogLines
订阅到Yahoo
订阅到GouGou
订阅到飞鸽
订阅到Rojo
订阅到newsgator
订阅到netvibes

原创  解放军信息工程大学硕士研究生入学考试试题--数据结构收藏

新一篇: 接触硬件啦 | 旧一篇: 什么是嵌入式系统?

 
 
     解放军信息工程大学硕士研究生入学考试试题
 数据结构
一、单项选择题(每小题2分,共30分)
1.将数组称为随机存储结构是因为(  
A. 数组元素是随机的;  
B. 随时可以对数组元素进行访问;
C. 对数组的任一元素的存取时间是相等的;
      D. 数组的存储结构是不定的。
2. 在索引顺序表中查找一个元素,可用的且最快的方法是(  
A. 用顺序查找法确定元素所在块,再用顺序查找法在相应块中查找
B. 用顺序查找法确定元素所在块,再用二分查找法在相应块中查找
C. 用二分查找法确定元素所在块,再用顺序查找法在相应块中查找
   D. 用二分查找法确定元素所在块,再用二分查找法在相应块中查找
3.二叉排序树中,关键字值最大的结点(  
   A. 左指针一定为空         B. 右指针一定为空
   C. 左、右指针均为空       D. 左、右指针均不为空
4.最小生成树指的是(  
A. 由连通图所得到的边数最少的生成树
B. 由连通图所得到的顶点相对较少的生成树
C. 连通图的所有生成树中权值之和最小的生成树
D. 连通网的极小连通子图
5.采用散列技术实现表的存储和查找,需解决的主要问题是(  
A. 如何申请到足够大的空间
B. 如何正确认识元素之间的逻辑关系
C. 如何找到一个好的查找方法
D. 如何构造一个散列地址均匀分布的散列函数
6.将长度为n的单链表链接在长度为m的单链表之后的算法的时间复杂度为(  
A.(1)      B. O(n)        C. O(m)         D. O(m+n)
7.由两个栈共享一个向量空间的好处是(  
A.减少存取时间,降低下溢发生的机率
B.节省存储空间,降低上溢发生的机率
C.减少存取时间,降低上溢发生的机率
D.节省存储空间,降低下溢发生的机率
8.设数组data[m]作为循环队列SQ的存储空间,front为队头指针,rear为队未指针,则执行出队操作后其头指针front的值为(  
A.front=front+1              B.front=(front+1)%(m-1)
C.front=(front-1)%m          D.front=(front+1)%m
9.若目标串的长度为n,模式串的长度为(int)n/3,则执行模式匹配算法时,在最坏情况下的时间复杂度是(  
A.O(n/3)                        B. O(n)
C. O(n*n)                        D. O(n*n*n)
10.一个非空广义表的表头(  
A.不可能是子表                  B.只能是子表
C.只能是原子                    D.可以是子表或原子
11.在一棵度为3的树中,度为3的结点个数为2,度为2的结点个数为1,则度为0的结点个数为(  
A. 4          B. 5           C. 6           D. 7
12.在含n个顶点和e条边的无向图的邻接矩阵中,零元素的个数为(  
A. e          B. 2*e         C. n*n-e       D. n*n-2*e
13. 假设一个有n个顶点和e条边的有向图用邻接表表示,则删除与某个顶点Vi相关的所有弧的时间复杂度是(  
A.O(n)                        B. O(e)
C. O(n+e)                      D. O(n*e)
14.用某种排序方法对关键字序列(25,84,21,47,15,27,68,35,20)进行排序时,序列的变化情况如下:
20,15,21,25,47,27,68,35,84
15,20,21,25,35,27,47,68,84
15,20,21,25,27,35,47,68,84
则所采用的排序方法是(  
A.选择排序                    B.希尔排序
C.归并排序                    D.快速排序
15.不定长文件是指(  
A.文件的长度不固定            B.记录的长度不固定
    C.字段的长度不固定            D.关键字项的长度不固定
二、判断题(每小题1分,共10分)
1. 数据结构中运算的实现和具体的存储结构无关。(  
2.在单链表中,要取得某个元素,只要知道该元素的指针即可,因此,单链表是随机存取的存储结构。(  
3.如果一个串中的所有字符都在另一个串中出现,则说前者是后者的子串。(  
4.堆中所有非终端结点的值均小于等于(大于等于)其左右子树的值。(  
5.理想情况下,在散列表中查找一个结点的时间复杂度为O(1)。(  
6.快速排序在每一趟排序中都能将一个元素放在最终位置上。(  
7.在二叉排序树上删除一个结点时,不必移动其它结点,只要将该结点的父结点的相应指针域置空即可。(  
8.连通分量是无向图中的极小连通子图。(  
9.先根遍历树和前序遍历与该树对应的二叉树,其结果不同。(  
10.若一个叶子结点是某二叉树子树的中序遍历序列中的最后一个结点,则它必是该子树的前序遍历序列中的最后一个结点。(  
三、填空(每小题1分,共10分)
1. 一个具有n个顶点的无向完全图的边数为(   ) 
2. 若以{4,5,6,7,8}作为叶子结点的权值构造哈夫曼树,则其带权路径长度是 (  )
3. 如果一个有向图中没有(  ) ,则该图的全部顶点可以排成一个拓扑序列。
4. 冒泡排序在最好的情况下的结点交换次数为(       ) 
5.在一个带头结点的单向循环链表中,p指向尾结点的直接前驱,则指向头结点的指针head可用p表示为head=(           )
6.在串S=“structure”中,以t为首字符的子串有(          )个。
7.假设一个9阶的上三角矩阵A按列优先顺序压缩存储在一维数组B中,其中B[0]存储矩阵中第1个元素a1,1,则B[31]中存放的元素是(        )
8.已知一棵完全二叉树中共有768个结点,则该树中共有(     ) 个叶子结点。
9.在单链表上难以实现的排序方法有(         )和(        )
10.在有序表(12,24,36,48,60,72,84)中二分查找关键字72时所需进行的关键字比较次数为(        )
四、解答题(每小题3分,共12分)
1.一棵二叉树的先序、中序和后序遍历序列分别如下,其中一部分未标出,请构造出该二叉树(下面序列中每个“-”代表一个未标出的字母)。
   先序: --CDE-GHI-K
   中序: CB--FA-JKIG
   后序: -EFDB-JIH-A
2.画出下列广义表的共享结构图形
     P=(((z),(x,y)),((x,y),x),(z))
3.已知一表为(Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec),按表中顺序依次插入初始为空的二叉排序树,要求:
(1)画出建立的二叉排序树;
(2)求出等概率情况下查找成功的平均查找长度。
4.对下图所示的AOE网,求出各项活动的最早开始时间e(i)和最迟开始时间l(i),并回答:工程完成的最短时间是多少?哪些活动是关键活动?

 


五、算法阅读题(每小题4分,共8分)
1.下列算法的功能是比较两个链串的大小,其返回值为:
     
   请在空白处填入适当的内容。
   int comstr(LinkString s1, LinkString s2)
   {//s1,s2为两个链串的头指针
while (s1&&s2) {
 if (s1->data<s2->data) return 1;
 if (s1->data>s2->data) return 1;
(1)                  ;
(2)                ;
 }
if (   (3)   ) return 1;
if (   (4)   ) return 1;
      (5)    ;
}
(1):
(2):
(3):
(4):
(5):
2.已知二叉树的存储结构为二叉链表,阅读下面算法。
Typedef struct node {
 DataType data;
 Struct node *next;
}ListNode;
ListNode *Leafhead=NULL;
Void Inorder(BinTree T)
{   LinkNode *s;
    if (T) {
        Inorder(T->lchild);
        if ((!T->lchild)&&(!T->rchild)) {
             s=(ListNode *)malloc(sizeof(ListNode));
             s->data=T->data;
             s->next=Leafhead;
             Leafhead=s;
        }
        Inorder(T->rchild);
      }
    }
    对于如下所示的二叉树

 


(1)    画出执行上述算法后所建立的结构;
(2)    说明该算法的功能。
六、(10分)已知A、B 和C为三个递增有序的线性表,现要求编写算法对A表作如下运算:删去那些既在B表中出现又在C表中出现的结点。
七、(10分)已知一棵二叉树的前序遍历序列和中序遍历序列,写出可以唯一确定一棵二叉树的算法。
八、(10分)设有一个关键字取值范围为正整数的散列表,值 1表示空表项,用开放定址法解决冲突。现有两种删除策略:一是将待删表项的关键字置为 1;二是将探查序列上的关键字顺序递补,即用探查序列上下一个关键字覆盖待删关键字,后面的依次递补,并将原序列上最后一个关键字置为 1。这两种方法是否可行?为什么?给出一种可行的方法,并叙述它对查找和插入算法所产生的影响。
 
 
信息工程大学硕士研究生《数据结构》试卷答案
 
一.单项选择题(2*15=30分)
1C  2C  3B  4C  5D  6C  7B  8D  9C 10D 11C  12D 13B 14D  15B
二.判断题(1*10=10分)
   1 错  2错  3错  4对 5对  6对 7错  8错  9错 10对
三.填空题(1*10=10分)
   1:n(n-1)/2;        2:69 ;    3: 回路 ;      4   0 
   5:p->next->next; 6:11 ;   7: a5,6         8: 384 ;
   9:堆排序和希尔排序;      10: 2次。
四.解答题(3*4=12分)

1

 

2
设:A=(z);
B=(x,y);
C=((z),(x,y));
D=((x,y),x)=(B,x)
 
3
 
     APL=(1*1+2*2+3*3+4*3+5*2+6*1)/12=42/12=3.5
4. 活动 a1   a2   a3   a4   a5   a6   a7   a8
      e    0     0     6      4      7      7    16   14
      l     0     2     6      6      7      7    16   14
    l-e   0     2     0      2      0      0     0    0
工程完成的最短时间是18;
关键活动是:a1,a3,a5,a6,a7,a8。
五.算法阅读题(2*4=8分)
 1   (1)   s1=s1->next
       (2)   s2=s2->next
(3)       s2
(4)       s1
(5)       return 0
2.      (1)
 
(2)用头插法建立二叉树叶结点的单链表。
六.(10分)
void DELETE(A,B,C)
sequenlist A,*B,*C;
{int i,j,k,v;
 i=0;
 While (i<=(*A).last)
 { j=0;
While ((j<=(*B).last)&&((*B).data[j]<(*A).data[i]))
 j++;
if ((j<=(*B).last)&&((*B).data[j]==(*A).data[i]))
 { k=0;
   While ((k<=(*C).last)&&((*C).data[k]<(*A).data[i]))
      k++;
   if ((k<=(*C).last)&&((*C).data[k]==(*A).data[i]))
     { for(v=i;v<(*A).last;v++)
         (*A).data[v]=(*A).data[v+1];
        (*A).last--;
       }
    }
 i++;
}
七.(10分)
typedef struct {
int lchild,rchild;
char ch;
}node;
void QDECS(A,B,n)
char A[ ];
node B[ ];
int n;
{seqstack s;
 int i,j,t;
 s.top=-1;
 for(i=0;i<n;i++)
   { j=0;
while (B[j].ch!=A[i])
     j++;
if (s.top==-1)
 { s.top++;
   s.data[s.top]=j;
 }
else if (j<s.data[s.top])
       { B[s.data[s.top]].lchild=j;
         s.top++;
         s.data[s.top]=j;
         }
      else
         { while((j>s.data[s.top])&&(s.top!=-1))
               t=s.data[s.top--];
           B[t].rchild=j;
           s.data[++s.top]=j;
           }
}
}
八.(10分)
答:两种策略都不行。前者切断了探查链,后者可能移动了非同义词。
一种可行的做法是将待删表项的关键字置为0,以区别空表项。
查找时若遇到0,则继续往下找,直到找到或遇到-1为止。
插入时若遇到0,则即可插入。
 

发表于 @ 2006年12月04日 22:04:00|评论(loading...)|编辑

新一篇: 接触硬件啦 | 旧一篇: 什么是嵌入式系统?

评论

#wuqifeng0101 发表于2007-08-05 14:24:04  IP: 58.47.136.*
你好 不知道你能不能提供信大微电子专业的专业课试题数字电路和微机原理 谢谢!
发表评论  


当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
Csdn Blog version 3.1a
Copyright © 王为民