精华内容
下载资源
问答
  • 数据结构期末考试

    2016-01-14 22:42:58
    数据结构期末考试
  • 数据结构期末考试题集数据结构期末考试题集数据结构期末考试题集
  • 数据结构期末考试复习总结PPT
  • 数据结构复习资料,java数据结构期末考试.pdf
  • 计算机数据结构期末考试试题.pdf
  • 数据结构 期末考试 试题 试卷 真题 数据结构 期末考试 试题 试卷 真题 数据结构 期末考试 试题 试卷 真题 数据结构 期末考试 试题 试卷 真题 数据结构 期末考试 试题 试卷 真题
  • 数据结构期末考试试卷及答案2套
  • 数据结构期末考试复习总结.pdf
  • 数据结构期末考试复习资料.docx
  • 太原理工大学数据结构期末考试试卷
  • 济南大学数据结构期末考试题库,里面有每一章的习题,包括选择填空大题
  • 本资料为2014-15年河北工业大学计算机科学与技术数据结构期末考试真题
  • 数据结构期末考试试题及答案.doc
  • 数据结构期末考试模拟题
  • 深圳大学数据结构期末考试,包括了很多方面的数据结构知识点
  • 重庆工商大学的数据结构期末考试复习题目 很实用的 基本都是考的上面的 大家可以下来共享的
  • 1204 班 学委精心整理 数据结构期末复习 数据结构期末考试题型及分值 1简答题 6 题*5 分=30 分 简要回答要点 2分析题 6 题*5 分=30 分 给出结果 3设计题 1 题*10 分=10 分 设计思想及结果 4编程题 1 题*10 分=10 分 ...
  • 中国地质大学武汉C语言、数据结构期末考试汇总
  • 数据结构期末考试真题,英文版的,很经典哦
  • 整理好的往年数据结构期末考试试卷及复习资料。
  • 数据结构期末考试试卷欢迎下载阅读很有帮助的
  • 江西师大数据结构期末考试,考试复习题,包含答案,
  • 这个是南昌大学2014~2015学年第二学期数据结构期末考试试卷,上传此资源仅用于共享,具体解析在我的博客里面。3月29更新解析。
  • 山东大学2017-2018数据结构期末考试题目回忆版 一、 填空题(20分) 1.删除线性表中第i个元素需要移动多少个元素 (ppt第三章上有) 2.(之前没有相关题目的练习)复杂度分析 (1)s=i=0while(s)i++ s+=i (2...
  • 数据结构期末考试试题及答案

    千次阅读 多人点赞 2018-11-06 12:45:35
    数据结构期末考试试题及答案

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

    也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

                   
    2009-01-04 11:22
    期末样卷参考答案
    一.是非题(每题1分共10分)
    1. 线性表的链式存储结构优于顺序存储结构。 F
    2. 栈和队列也是线性表。如果需要,可对它们中的任一元素进行操作。F
    3. 字符串是数据对象特定的线性表。T
    4. 在单链表P指针所指结点之后插入S结点的操作是:P->next= S ; S-> next = P->next; F
    5. 一个无向图的连通分量是其极大的连通子图。T
    6. 邻接表可以表示有向图,也可以表示无向图。T
    7. 假设B是一棵树,B′是对应的二叉树。则B的后根遍历相当于B′的中序遍历。 T
    8. 通常,二叉树的第i层上有2i-1个结点。F
    9. 对于一棵m阶的B-树,树中每个结点至多有m 个关键字。除根之外的所有非终端结点至少有ém/2ù个关键字。F
    10.对于任何待排序序列来说,快速排序均快于起泡排序。F
    二.选择题(每题2分共28分)
    1.在下列排序方法中,( c )方法平均时间复杂度为0(nlogn),最坏情况下时间复杂度为0(n2);( d )方法所有情况下时间复杂度均为0(nlogn)。
    a. 插入排序   b. 希尔排序   c. 快速排序   d. 堆排序  
    2. 在有n个结点的二叉树的二叉链表表示中,空指针数为( b )。
       a.不定         b.n+1          c.n            d.n-1
    3. 下列二叉树中,( a )可用于实现符号不等长高效编码。
    a.最优二叉树      b.次优查找树      c.二叉平衡树 d.二叉排序树
    4. 下列查找方法中,( a )适用于查找有序单链表。
    a.顺序查找        b.二分查找        c.分块查找      d.哈希查找
    5. 在顺序表查找中,为避免查找过程中每一步都检测整个表是否查找完毕,可采用( a )方法。
    a.设置监视哨      b.链表存贮     c.二分查找       d.快速查找
    6. 在下列数据结构中,( c )具有先进先出特性,( b )具有先进后出特性。
    a.线性表        b.栈       c.队列       d.广义表
    7.具有m个结点的二叉排序树,其最大深度为( f ),最小深度为( b )。
    a. log 2 m        b. └ log2 m ┘ +1     c. m/2
    d .┌ m/2 ┐ -1     e. ┌ m/2 ┐          f. m  
    8.已知一组待排序的记录关键字初始排列如下:56,34,58,26,79,52,64,37,28,84,57。
    下列选择中( c )是快速排序一趟排序的结果。
    ( b )是希尔排序(初始步长为4)一趟排序的结果。
    ( d )是基数排序一趟排序的结果。
    ( a )是初始堆(大堆顶)。
    a. 84,79,64,37,57,52,58,26,28,34,56。
    b. 28,34,57,26,56,52,58,37,79,84,64。
    c. 28,34,37,26,52,56,64,79,58,84,57。
    d. 52,34,64,84,56,26,37,57,58,28,79。
    e. 34,56,26,58,52,64,37,28,79,57,84。
    f. 34,56,26,58,52,79,37,64,28,84,57。
    三.填空题(每题2分共20分)
    1.有向图的存储结构有(邻接矩阵)、(邻接表)、(十字链表)等方法。
    2.已知某二叉树的先序遍历次序为afbcdeg,中序遍历次序为cedbgfa。
    其后序遍历次序为(edcgbfa)。层次遍历次序为(afbcgde)。
    3.设有二维数组A 5 x 7 ,每一元素用相邻的4个字节存储,存储器按字节编址。已知A00的存储地址为100。则按行存储时,元素A14的第一个字节的地址是(144);按列存储时,元素A14的第一个字节的地址是(184)。
        4.请在下划线上填入适当的语句,完成以下法算。
    Status Preordertraverse(Bitree T,Status(*Visit)(Telemtype e)){
    //先序非递归遍历二叉树。
    Initstack ( S );   Push ( S,T );
    While ( !stackempty( S ) )
    { While ( gettop( S, p )&& p ) { visit (p->data ) ; push(S, p->lchild ;}
         Pop ( S , p );
         If ( !stackempty(s) ) { pop(S, p) ;   push( S, p->rchild ); }
    }
    return ok;
    四.简答题(每题5分共25分)
    1.将图示森林转换为二叉树,并对该二叉树中序全序线索化。
                                                                                 
    h

    d

    a

                                               
                                                                                  
                                            
    j

    i

    b

    f

    e

    c

                                                                                       
                                            
    m

    l

    k

    g

    2.已知Hash函数为 H(K)=K mod 13 ,散列地址为0 --14,
    用二次探测再散列处理冲突,给出关键字(23,34,56,24,75,12,49, 52,36,92,06,55)在散列
    地址的分布。
    0   1   2    3   4   5   6   7   8   9   10 11 12 13 14
          








      





          3. 右图为一棵3阶B 树。                            (20,25)
    a. 画出在该树上插入元素15后的B 树。             / │ \
    b. 接着,再删除元素35,画出删除后的B 树。    (10,14)(21)(35)
       4.已知某无向图的邻接表存储结构如图所示。
           a.请画出该图。
    b.根据存储结构给出其深度优先遍历序列及广度优先遍历序列。
    c.画出其深度优先生成树及广度优先生成树。
    0 a            2            4    //
    1 b            2            3             4   //
    2 c              0            1             4   //
    3 d            1   //           
    4 e            0               1               2    //

    5. 设在某通信系统中使用了八个字符,它们出现的频率分别为0.08,0.05,0.1,0.12,0.26,0.18,0.14,0.07,试构造一棵赫夫曼树,并给出赫夫曼编码。
    五.算法设计题(共17分)
    1. 单链表结点的类型定义如下:
    typedef struct LNode {
            int data;
            struct LNode *next;
    } LNode, *Linklist;
    写一算法,将带头结点的有序单链表A和B合并成一新的有序表C。
    (注:不破坏A和B的原有结构.)
    Merge(Linklist A, Linklist B, Linklist &C )
    void Merge(Linklist A, Linklist B, Linklist &C)
    { C=(Linklist)malloc(sizeof(LNode));
    pa=A->next; pb=B->next; pc=C;
    while(pa&&pb)
    { pc->next=(Linklist)malloc(sizeof(LNode));
    pc=pc->next;
    if(pa->data<=pb->data)
    { pc->data=pa->data; pa=pa->next;}
    else
    { pc->data=pb->data; pb=pb->next;}
    }
    if(!pa) pa=pb;
    while(pa)
    { pc->next=(Linklist)malloc(sizeof(LNode));
    pc=pc->next;
    pc->data=pa->data; pa=pa->next;
    }
    pc->next=NULL;
    }
    2. 二叉树用二叉链表存储表示。
    typedef struct BiTNode {
          TelemType data;
          Struct BiTNode *lchild, *rchild;
    } BiTNode, *BiTree;
    编写一个复制一棵二叉树的递归算法。
    BiTree CopyTree(BiTree T) {
    if (!T ) return NULL;
    if (!(newT = (BiTNode*)malloc(sizeof(BiTNode))))
    exit(Overflow);
    newT-> data = T-> data;
    newT-> lchild = CopyTree(T-> lchild);
    newT-> rchild = CopyTree(T-> rchild);
    return newT;
               

    给我老师的人工智能教程打call!http://blog.csdn.net/jiangjunshow

    这里写图片描述
    展开全文
  • 东莞理工学院城市学院本科试卷B卷 2016 -2017 学年第二学期 开课单位 计信系 考试形式 闭 卷允许带 入场 科目 数据结构 班级15级软件工程16班姓名 学号 题序 一 二 三 四 总 分 得分 评卷人 一填空题每题2分共12分 ...
  • 数据结构期末考试试题总结

    千次阅读 多人点赞 2020-08-01 00:46:03
    数据结构期末考试试题总结 文章目录数据结构期末考试试题总结第1章 第一单元课程介绍; 数据结构第1~2章第2章 第二单元第3章栈和队列1.0中缀表达式为( A + B ) × C – D / E,则其后缀表达式为何?2.0中缀表达式为A+B...

    数据结构期末考试试题总结

    第1章 第一单元课程介绍; 数据结构第1~2章

    1:在双向循环链表中,在q指针所指的结点后插入p所指向的新结点,其修改指针的操作是( )
    (4.0分)

    解:
    p->prior=q; p->next=q->next; q->next->prior=p; q->next=p;

    解:在改变原链表之前,将p指针(插入指针)连接好,再去把p的next的prior指向q;再把p的next指向q,主要是不能丢失p原有的next节点;

    a14FSS.png 2:顺序表中第一个元素的存储地址是200,每个元素的长度为2,则第6个元素的地址是( )(4.0分)

    解:

    顺序结构中,第n个元素的地址为An=A0+(n-1)*L (A为地址,L为元素长度)。

    A6=200+(6-1)*2=210

    第2章 第二单元第3章栈和队列

    1.0中缀表达式为( A + B ) × C – D / E,则其后缀表达式为何?

    1.先用括号将优先顺序分出来

    ​ (((A+B)xC)-(D/E))

    2.将运算符取代右边最近之右括号

    ​ (1) (((A+BXC)-(DE/)

    ​ (2) (((ABXC+DE/-

    3.把左括号全部拿掉,即为所得。

    ​ ABxC+DE/-

    2.0中缀表达式为A+B×C-D,则其前缀表达式为何?

    1. 先用括号将优先顺序分出来

    ((A+(BxC))-D)

    1. 将运算符取代左边最近之左括号

      ((A+xBC))-D)

      (+AxBC))-D)

    ​ \-+AxBC))D)

    1. 把右括号全部拿掉,即为所得。

    -+AxBCD

    1. 后缀表达式为2 5 + 4 × 6 3 / -,则其后缀式求值结果为何?

      答案:26

    处理句元处理动作操作数栈
    2push(2)push(2)
    5push(3)push(5) push(2)
    +作两次Pop,先Pop出来的5为第二操作数,后Pop出来的2为第一操作数,执行5+2=7,设为X,Push(X)push(7)
    4push(4)push(4) push(7)
    x作两次Pop,先Pop出来的4为第二操作数,后Pop出来的7为第一操作数,执行4x7=28,设为Y,Push(Y)push(28)
    6push(6)push(6) push(28)
    3push(3)push(3) push(6) push(28)
    /作两次Pop,先Pop出来的3为第二操作数,后Pop出来的6为第一操作数,执行6/3=2,设为Z,Push(Z)push(2) push(28)
    -作两次Pop,先Pop出来的2为第二操作数,后Pop出来的28为第一操作数,执行28-2=26,Push(26)26

    第3章 第三单元第4章 串、数组、广义表

    1.0串“abcaabbabcab”的next数组为( )。(5.0分)

    B、011122312345

    j123456789101112
    模式串abcaabbabcab
    next[j]011122312345

    口诀: next[j]=前同数+1(即串起始下标值)

    (前同数:在j-1位置之前,字首==字尾的字数)

    解:j=1,时next[j]=0;
    j=2时候,其他情况next[j]=1;j=3时候,其他情况;j=4,其他情况;j=5,前同数+1=2……以此类推。

    2.0串“abcaabbabcab”的nextval为( )。(5.0分)

    C、011021301105

    j123456789101112
    模式串abcaabbabcab
    next[j]011122312345
    nextval[j]011021301105

    解答:(1)第一位nextval必为0,第二位的字符如何和第一位相等,则为0,不同则为1

    (2)第三位next值为1,与第一位比较,不同nextval= next=1;

    (3)第四位next值为1,与第一位比较,相同则第四位nextval=第一位nextval=0

    (4)第五位next值为2,与第二位比较,不同则nextval= next=2;

    (5)第六位next值为2,则与第二位比较,相同则第二位next=1,第二位继续与第一位比较,不同,则nextval[6]=1

    (6)第七位next值为3,则与第三位比较,不同nextval=next=3;

    (7)第八位next值为1,与第一位比较,相同,nextval=next=0;

    (8)第九位next值为2,则与第二位比较,相同,第二位next=1,则第二位继续与第一位比较,不同,则nextval【9】=
    next【2】

    (9)第十位next值为3,则与第三位比较,相同next[3]=1,则第三位next继续与第一位比较不同,则nextval[10]=1;

    (10)第十一位next值为4,则与第四位比较,相同则第四位next=1,第四与第一比较,相同,则nextval[11]=
    next[0]

    (11)第十二位next值为5,与第五位比较,不同则nextval= next=5

    第4章 第四单元第5章树和二叉树

    1.0设某棵二叉树的中序遍历序列为BDCAEHGIF,后序遍历序列为DCBHIGFEA,则先序遍历该二叉树得到序列为( )。

    我们知道先序遍历的特点:根->左->右,中序遍历的特点:左->根->右;后序遍历:左->右->根;

    可以使用后序找出根,再由中序找出左右孩子;

    (1)后序:DCBHIGFEA 中序:BDCAEHGIF可以分出树的根A
    (2)后序:DCB 中序:BDC左子树根为B 可以画出左子树
    (3)1)后序:HIGFE 中序:EHGIF 2)后序:HIGF 中序: HGIF 3)后序:HIG 中序: HGI画出右子树
    a14PW8.png

    所以先序遍历为:ABCDEFGHI

    2.0设在一棵度数为3的树中,度数为3的结点数有2个,度数为2的结点数有1个,度数为1的结点数有2个,那么叶结点数有( )个。

    解: 度以3的树,只存在四种度数的节点(0,1,2,3)度

    总度数和=节点个数-1(通用公式)

    则依题意共有:32+21+1*2=10(度),则共有11个节点,再减去(1,2,3)度的节点数:11-2-1-2=6个度为0的节点

    第5章 第五单元第5章树和二叉树

    1.0 假设用于通信的电文仅由abcdef(6种字母)组成,字母abcdef在电文中出现的频率分别为0.45,0.13,0.12,0.16,0.09,0.05。试问在哈夫曼编码后,其带权路径长度WPL=?

    解:

    字母abcdef
    频率0.450.130.120.160.090.05
    4513121695

    把频率乘100
    a14kQg.png
    a14CJf.png

    WPL=(451+253+163+144)=244

    244/100=2.44

    2.0设F是一个森林,B是由F变换得的二叉树。若F中有n个非终端结点,则B中右指针域为空的结点有(
    )个。

    1. 设终端结点数为f,总结点数 f + n。每个结点有两个指针,总指针数 2(f + n)

    2. 二叉树B除去根结点,都是某个结点的孩子, 也就是其余每个结点都有指针指向,
      占用指针数为 f + n - 1;

    3. 剩余空指针数为 2(f + n)- (f + n - 1)= f + n + 1 个

    4. f 个终端结点没有孩子, 所以空的左指针域数为f 个;

    5. 二叉树B 中右指针域为空的结点有 ( f + n + 1 ) - f = n + 1;

    第6章 第六单元第6章 图

    1.0已知图的邻接表如图

    a14AyQ.png

    所示,则从顶点v0出发按广度优先遍历的结果是( )。

    解答:图的广度优先遍历就类似于树的层序遍历。

    0123
    0

    接着访问V1

    0123
    01

    访问V2

    0123
    012

    访问V3

    0123
    0123

    2.0在背包问题中,假设有5个不可分解的物品,其各物品之(价值,重量)分别为(20,10)、(30,20)、(66,30)、(40,40)、(60,50),背包限重90,若以重量之贪婪算法来解,则所获得之最大利益为
    ( )。

    解:

    重量W1020304050
    价值V2030664060

    贪婪策略的选择问题。对于本题,常见的贪婪策略有三种.

    1.根据物品价值选择,每次都选价值最高的物品

    2.根据物品重量选择,每次都选择重量最轻的物品

    3.定义一个价值密度的概念,每次选择都选择价值密度最高的物品.

    最大利益=20+30+66=116

    第7章 第七单元第6章 图的应用

    a14uF0.png

    所示的AOE-网,此工程最早完成时间为( 31 )。

    2.0所示的AOE-网,此关键路径为( v0→v2→v3→v4→v7→v9 )。

    事件的最早发生时间和最迟发生时间

    事件(定点)最早完成时间Ve(i)最晚发生时间Vl(i)
    v000
    v1510
    v277
    v31313
    v41717
    v51819
    v62325
    v72525
    v82627
    v93131

    计算各个活动ai的最早开始时间e(i) ;各个活动ai的最晚开始时间l(i) ;

    活动aie(i)l(i)l(i)- e(i)
    a105
    a2000
    a3510
    a4770
    a5714
    a613130
    a71314
    a81321
    a91719
    a1017170
    a111819
    a122325
    a132326
    a1425250
    a152627

    第8章 第八单元第7章 查找

    1.0设哈希表长为14,哈希函数是H(key)=key%11,表中已有数据的关键字为15,38,61,84共四个,现要将关键字为49的元素加到表中,用二次探测法解决冲突,则放入的位置是( )。(5.0分)

    二次再散列法是用来解决哈希冲突的,二次再散列法包括"开放地址法"和"开链法"。开放地址法又包括:线性探测法和二次探测法, 二次探测法:与线性探测法类似,只不过每次寻找的是当前寻找位置的前后第n²个位置。

    拿这个题来说:通过哈希函数H(key)=key%14构造哈希表:

    012345678910
    15386184

    H(49)=49%11=5

    设寻找的位置下标为:loc

    第一次寻找:loc = 5+1²=6; 下标为6的位置已经有元素,所以继续寻找;

    第二次寻找:loc=5-1²=4;下标为4的位置已经有元素,所以继续寻找;

    第三次寻找:loc=5+2²=9,下标为9的位置没有元素,所以给该元素放到这个位置。寻找结束。

    2.0 设哈希函数H(K)= K mod 11,哈希地址空间为0~10,对关键字序列(33,13,47,22,38,23,6,57),按线性探测法解决冲突的方法构造哈希表,查找成功时平均查找长度为(17/8 )。

    解:(33,13,47,22,38,23,6,57)

    01234567
    332213472338657
    12114116

    计算H(K)= K mod 11

    H(33)=0

    H(13)=2

    H(47)=3

    H(22)=0冲突;H(22+1)=1;

    H(38)=5

    H(23)=1冲突;H(23+1)=2冲突;H(23+2)=3冲突;H(23+3)=4;

    H(6)=6

    H(57)=2冲突;H(57+1)=3冲突; H(57+2)=4冲突; H(57+3)=5冲突; H(57+4)=6冲突; H(57+5)=7冲突;

    ,查找成功时平均查找长度为(1*5+2+4+6 )/8=17/8

    第9章 第九单元第8章 排序

    1.0设待排序的关键字(a1~ a10)序列为{12,2,16,30,28,10,16*,20,6,18},a0为”枢轴”暂存位置,则利用快速排序的方法,以第一个记录a1基准(枢轴)得到的一次划分结果(a1~ a10)为( )。(5.0分)

    6 2 10 12 28 30 16* 20 16 18

    解:初始序列:

    a14ELj.png

    以a1为基准,进行划分
    a14Zes.png

    2.0 设待排序的关键字(a1~ a10)序列为{12,2,16,30,28,10,16*,20,6,18},a0为”交換”暂存位置,解:

    a14moq.png

    等到:
    a14ewn.png

    第10章 第十单元第第8章 排序

    1.0 T(n)= 8T(n/2) +O(n2),根据主(Master)定理,T(n)=( )。

    a14KYV.png

    a=8,b=2,k=2

    23<22

    T(n)=O(n3)

    2.0若一组记录的排序码为(30,60,8,40,70,12,10),则利用自底向上构造堆排序的方法,其建立的初始堆为( )。

    第11章 第十一单元第8章 排序

    1.0假设有一个含10,000个记录的磁盘文件,而当前所用的计算机一次只能对1,000个记录进行内部排序,设采用2-路归并,每次读或写“数据块”大小为200,则总访问外存的次数为(
    )。

    解:进行2-路归并(即两两归并),则

    第一趟由10个归并段得到5个归并段;

    第二趟由 5 个归并段得到3个归并段;

    第三趟由 3 个归并段得到2个归并段;

    最后一趟归并得到整个记录的有序序列。

    分析上述外排过程中访问外存(对外存进行读/写)的次数:

    假设“数据块”的大小为200,即每一次访问外存可以读/写200个记录。

    则对于10,000个记录,处理一遍需访问外存100次(读和写各50次)。

    由此,对上述例子而言,

    1. 求得10个初始归并段需访问外存100次;

    2. 每进行一趟归并需访问外存100次;

    3. 总计访问外存 100 + 4*100 = 500次。

    2.0设待排序的关键字(a1~
    a10)序列为{12,2,16,30,28,10,16*,20,6,18},a0为”交換”暂存位置,则利用二路归并排序的方法,以第二回合(pass)后得到的划分结果(a1~
    a10)为( )。

    2 12 16 30 10 16* 20 28 6 18

    解:

    初始关键字:12,2,16,30,28,10,16*,20,6,18

    第一回合:(2 12)(16 30)(10 28)(16* 20)(6 18)

    第二回合(2 12 16 30)(10 16* 20 28)(6 18)

    展开全文

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 10,508
精华内容 4,203
关键字:

数据结构期末考试

数据结构 订阅