考研论坛

 找回密码
 立即注册
查看: 129|回复: 0

厦门大学2002年计算机数据结构专业课考研真题

[复制链接]

33万

主题

33万

帖子

100万

积分

论坛元老

Rank: 8Rank: 8

积分
1007237
发表于 2017-8-6 20:45:40 | 显示全部楼层 |阅读模式
2015年硕士研究生招生考试有很多变化,具体可归纳为考试时间将提前一周、全国各省份分区划复试线、专业突出者允许破格复试三个变化。对于广大考研学习来说,提前进入考前冲刺模式。但不管招生政策如何变化,考研真题仍然是同学们考研复习的必备资料。以下是厦门大学2002年计算机数据结构专业课考研真题试卷(回忆版)。
    厦门大学2002年计算机数据结构专业课考研真题试卷(回忆版)
        一、16分
    1、PROGRAM g0101 ( output );
    var a,b :integer ;
    FUNCTION fc( x : integer ) : integer ;
    begin a:=b+x ; x=b-x ; fc:=a*x ; end ;
    FUNCTION fp ( VAR y :integer ) : integer ;
    begin y:=b+y ;fp=y-a ; end ;
    begin
    a=2; b=3;
    writeln('fc=' , fc(a) , ' fp= ' ,fp(b) ) ;
    writeln( 'a=' ,a , 'b=' b )
    end;
    2、PROGRAM g0102 (output );
    var a,b,c:integer ;
    begin
    new(a); a^:=3; new(b); b^5:=5 ;
    a^:=a^+b^ ; c:=a;
    c^:=a^*b^; b^:=a^-c^ ;
    writeln( 'a=',a^,'b=b',b^,'c=',c^ );
    end;
    3、PROGRAM g0103 (output) ;
    const a=3 ; b=4 ;c=7 ;
    var
    x:=array[1..a] of integer ;
    y:=array[1..b] of integer ;
    z:=array[1..c] of integer ;
    i,j,k,h:integer ;
    PROCEDURE ssar ;
    var i,j,k:integer ; w:array[1..a]of integer ;
    begin
    for i:=1 to a do w:=x[a+1-i];
    i:=1 ;j:=1;k:=1;
    while (i y then begin h:=w ; i=i+1; end
    else begin h:=y ; j:=j+1 ;end;
    z[k]:=h ; k:=k+1 ;
    end ;
    while i=0)之后插入一个元素,为x的结点,请在答案栏给出题目中______处应该添入的语句或表达式,使之完成上述功能。
    PROCEDURE insert ( var head :dpointer ;i,x:integer);
    var s,p:dpointer ;
    j:integer;
    begin
    new(s) ;s^data:=x;
    if (i=0) then { 如果i=0,则将s结点插入到表头后返回}
    begin s^.right=head ;____1_____ head:=s ; end
    else
    begin
    p:=head; ____2____ {在双连表中查找第i 个节点,由p所指向}
    while ((pnil) and (jnil) then
    if (p^.right=nil) then
    begin p^.right:=s ; s^.right:=nil ; ____4___ end;
    else
    begin s^.right:=p^.right ; ___5____
    p^.right:=s; ____6_____ end
    else
    writeln('can not find node ');
    end;
    end;
      三、12分广义表是n(n>=0)个数据元素,a1,a2,……an的有限序列,
    其中ai(1<=i<=n)或者是单个数据元素(原子),或仍然是一个广义表,广义表的结点具有不同的结构,即原子结点和子表结点,为了将两者统一,link域指向下一个结点,当其tag为1时表示是子结点,其sublist为指向子表的指针。因此,广义表可采用如下结构存储:
    type
    glist=^gnode ;
    gonde=RECORD
    link:glist;
    case tag:0..1 of
    0data:char);
    1sublist:glist);
    end;<=N)或者是单个数据元素(原子),或仍然是一个广义表,广义表的结点具有不同的结构,即原子结点和子表结点,为了将两者统一,LINK域指向下一个结点,当其TAG为1时表示是子结点,其SUBLIST为指向子表的指针。因此,广义表可采用如下结构存储:
    1、画出广义表((a,b),c)的存储结构;
    2、写出计算一个广义表的原子结构个数的递归算法表示式;
    3、编写实现上述算法的过程或函数程序。
    四、10分写一个算法,利用[0。。1]上的随即函数计算圆周率n的近似值,首先说明你的算法,而后编写相应的过程或函数程序。
    五、选择题 (8分)
    1、下列排序算法中,在每一趟都能选出一个元素放到其最终位置上,并且其时间性能受数据特性的影响的是________.
    a直接插入排序
    b 快速排序
    c 直接选择排序
    d 堆排序
    2、下列排序算法中,占用辅助空间最多是_______
    a 归并排序
    b 快速排序
    c 希尔排序
    d 堆排序
      六、填空20分
    1、一棵左子树为空的二叉数在先序线索化后,其中的空链域的个数为______
    2、若以{4、5、6、7、8}做为叶子节点的权值构造哈夫曼树,则其带权路径长度是________
    3、在顺序存储的二叉树中,编号为i和j的两个结点处在同一层的条件是_______
    剩下的省略…………
    填空还有2题,都是基本题,七是作图题12分,给你一些中序、先序、后序的字母,让你画出,完整的二叉树。(给你的三个序列都是不完整的)
    八是解答题10分,一道是给你一个图,要你找到,顶点1到其余各点的最短路径
    还有一个二叉树的题目。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|新都网

GMT+8, 2025-9-23 04:49 , Processed in 0.047308 second(s), 8 queries , WinCache On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表