精华内容
下载资源
问答
  • 数据结构题库

    千次阅读 多人点赞 2020-03-05 20:34:51
    【文档】清华数据结构习题集答案(C语言版严蔚敏).【113页】 【文档】自考数据结构02331历年试题及答案(2009--2015个人整理版【98页】 【文档】数据结构各章题库及答案【56页】 【文档】数据结构考试题库含答案...

    目录:

    一:文档

    【文档】清华数据结构习题集答案(C语言版严蔚敏).【113页】

    【文档】自考数据结构02331历年试题及答案(2009--2015个人整理版【98页】

    【文档】数据结构各章题库及答案【56页】

    【文档】数据结构考试题库含答案整理版【55页】

    【文档】十套数据结构试题及答案1【41页】

    【文档】数据结构试题及答案【35页】

    【文档】十套数据结构试题及答案(1)【24页】

    【文档】数据结构试题库及的答案【20页】

    【文档】数据结构期末考试题及答案【19页】

    【文档】数据结构自考题汇总【18页】

    【文档】数据结构试题及答案[1]【13页】

    【文档】数据结构试题试题及答案1【7页】

    ===============================================================

    二:网站 

    【网站】算法与数据结构

    【网站】PPKAO考试资源网

    【网站】数据结构和算法动态可视化 (Chinese) 

    【网站】用python实现基本数据结构和算法

    【网站】SORTING

    【网站】刷了几千道算法题,我私藏的刷题网站都在这里了


    根据做数据结构的题感觉最好用的三个网站分享给大家:

    第一个:牛客网官网(这个网站不会的不清晰题里面基本上都可以找到答案还是免费的)

    https://m.nowcoder.com/

     

    第二个:文档库(这个网站里面可以收索各种书资料和答案)

    http://www.wendangku.net/

    http://www.wendangku.net/search/%e6%95%b0%e6%8d%ae%e7%bb%93%e6%9e%84%e7%bb%83%e4%b9%a0%e9%99%84%e7%ad%94%e6%a1%88.html【数据结构地址】

     

    第三个:我是码农(最适合练题的我认为——包含视频;电子书;好的文章;模拟考试卷子10套;习题4套卷子带解析;9个章节专项练习题和答案)

    http://www.54manong.com/

    http://www.54manong.com/?cate=17【数据结构地址】


     

    一:文档

    【文档】清华数据结构习题集答案(C语言版严蔚敏).【113页】

    https://wenku.baidu.com/view/c0b71f48852458fb770b566f.html

    【文档】自考数据结构02331历年试题及答案(2009--2015个人整理版【98页】

    https://wenku.baidu.com/view/f39217d870fe910ef12d2af90242a8956aecaa04.html

    【文档】数据结构各章题库及答案【56页】

    https://www.mayiwenku.com/p-2920546.html

    【文档】数据结构考试题库含答案整理版【55页】

    https://max.book118.com/html/2018/1031/6214155012001225.shtm

    【文档】十套数据结构试题及答案1【41页】

    https://wenku.baidu.com/view/e0f29e5002d276a201292e97.html?rec_flag=default&sxts=1583240896347

    【文档】数据结构试题及答案【35页】

    https://wenku.baidu.com/view/e567116fb5daa58da0116c175f0e7cd1842518d5.html

    【文档】十套数据结构试题及答案(1)【24页】

    https://wenku.baidu.com/view/d5fa88cb376baf1ffd4fad2c.html?rec_flag=default&sxts=1583240865972

    【文档】数据结构试题库及的答案【20页】

    https://max.book118.com/html/2018/0716/8126114075001115.shtm

    【文档】数据结构期末考试题及答案【19页】

    https://www.renrendoc.com/p-15434293.html

    【文档】数据结构自考题汇总【18页】

    https://wenku.baidu.com/view/8b3923755627a5e9856a561252d380eb629423ee.html

    【文档】数据结构试题及答案[1]【13页】

    https://wenku.baidu.com/view/8331b950b42acfc789eb172ded630b1c58ee9b17.html?rec_flag=default&sxts=1583240969623

    【文档】数据结构试题试题及答案1【7页】

    https://wenku.baidu.com/view/09d875c5d5bbfd0a79567320.html?sxts=1583241092145

    ===============================================================

    二:网站 

    【网站】算法与数据结构

     https://www.itcodemonkey.com/category/TheAlgorithm/

    【网站】PPKAO考试资源网

    https://www.ppkao.com/tiku/13208/

    【网站】数据结构和算法动态可视化 (Chinese) 

    https://visualgo.net/zh

    【网站】用python实现基本数据结构和算法

     https://python-web-guide.readthedocs.io/zh/latest/algorithms/algorithms.html

    【网站】SORTING

    http://sorting.at

    【网站】刷了几千道算法题,我私藏的刷题网站都在这里了

    https://baijiahao.baidu.com/s?id=1649816665038373266&wfr=spider&for=pc
     

    展开全文
  • 数据结构习题

    万次阅读 2019-01-03 15:16:11
    线性表的插入、删除总是伴随着大量数据的移动。 (1分)  F   作者: 李廷元 单位: 中国民用航空飞行学院 1-5 若一个栈的输入序列为1,2,3,…,N,输出序列的第一个元素是i,则第j个输出元素是j...

    1-1

    算法分析的两个主要方面是时间复杂度和空间复杂度的分析。 (1分)

    T     

     

    作者: DS课程组

    单位: 浙江大学

    1-2

    若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用顺序表存储最节省时间。 (1分)

    T    

     

    作者: DS课程组

    单位: 浙江大学

    1-3

    在用数组表示的循环队列中,front值一定小于等于rear值。 (1分)

       F

     

    作者: DS课程组

    单位: 浙江大学

    1-4

    若一个结点是某二叉树的中序遍历序列的最后一个结点,则它必是该树的前序遍历序列中的最后一个结点。(1分)

      F

     

    作者: DS课程组

    单位: 浙江大学

    1-5

    用邻接矩阵法存储图,占用的存储空间数只与图中结点个数有关,而与边数无关。 (1分)

    T      

     

    作者: DS课程组

    单位: 浙江大学

    1-6

    Prim 算法是通过每步添加一条边及其相连的顶点到一棵树,从而逐步生成最小生成树。 (1分)

    T     

     

    作者: 陈越

    单位: 浙江大学

    1-7

    对N个记录进行快速排序,在最坏的情况下,其时间复杂度是O(NlogN)。 (1分)

      F

     

    作者: DS课程组

    单位: 浙江大学

    1-8

    对于顺序存储的长度为N的线性表,访问结点和增加结点的时间复杂度分别对应为O(1)和O(N)。 (1分)

    T   

     

    作者: DS课程组

    单位: 浙江大学

    1-9

    通过对堆栈S操作:Push(S,1), Push(S,2), Pop(S), Push(S,3), Pop(S), Pop(S)。输出的序列为:123。 (1分)

       F

     

    作者: DS课程组

    单位: 浙江大学

    1-10

    若用链表来表示一个线性表,则表中元素的地址一定是连续的。 (1分)

     F

     

     

     

     

    1-1

    对于顺序存储的长度为N的线性表,访问结点和增加结点的时间复杂度分别对应为O(1)和O(N)。 (1分)

    T  

     

    作者: DS课程组

    单位: 浙江大学

    1-2

    若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用顺序表存储最节省时间。 (2分)

    T  

     

    作者: DS课程组

    单位: 浙江大学

    1-3

    对于顺序存储的长度为N的线性表,删除第一个元素和插入最后一个元素的时间复杂度分别对应为O(1)和O(N)。 (1分)

     F

     

    作者: 徐镜春

    单位: 浙江大学

    1-4

    所谓“循环队列”是指用单向循环链表或者循环数组表示的队列。 (1分)

     F

     

     

     

     

    1-1

    斐波那契数列F​N​​的定义为:F​0​​=0, F​1​​=1, F​N​​=F​N−1​​+F​N−2​​, N=2, 3, …。用递归函数计算F​N​​的时间复杂度是O(N!)。 (1分)

          F

     

    作者: DS课程组

    单位: 浙江大学

    1-2

    对n个整数排序,在最坏的情况下,不能保证以少于O(n)的时间完成。 (1分)

    T   

     

    作者: 干红华

    单位: 浙江大学

    1-3

    若一个栈的输入序列为{1, 2, 3, 4, 5},则不可能得到{3, 4, 1, 2, 5}这样的出栈序列。 (1分)

    T   

     

    作者: 徐镜春

    单位: 浙江大学

    1-4

    队列是一种插入和删除操作分别在表的两端进行的线性表,是一种先进后出的结构。 (1分)

      F

     

    作者: 林华

    单位: 广东外语外贸大学

    1-5

    在单链表中,要访问某个结点,只要知道该结点的指针即可。因此,单链表是一种随机存取结构。 (1分)

       F

     

    作者: 李廷元

    单位: 中国民用航空飞行学院

    1-6

    AB都是一棵二叉树的叶子结点,则存在这样的二叉树,其前序遍历序列为...A...B...,而中序遍历序列为...B...A...。 (1分)

    F

     

    作者: 陈越

    单位: 浙江大学

    1-7

    对AVL树中的任一结点,其左子树的高度一定比其右子树的高度要高。 (1分)

     F

     

    作者: 陈越

    单位: 浙江大学

    1-8

    二叉树通常有顺序存储结构和链式存储结构。 (1分)

    T  

     

    作者: 林华

    单位: 广东外语外贸大学

    1-9

    在一个有向图中,所有顶点的入度与出度之和等于所有边之和的2倍。 (1分)

    T    

    作者: DS课程组

    单位: 浙江大学

    1-10

    Kruskal 算法是通过每步添加一条边及其相连的顶点到一棵树,从而逐步生成最小生成树。 (1分)

       F

     

     

     

    1-1

    对于某些算法,随着问题规模的扩大,所花的时间不一定单调增加。 (1分)

    T  

     

    作者: 干红华

    单位: 浙江大学

    1-2

    For the following piece of code

    
    if ( A > B ){     
      for ( i=0; i<N*2; i++ )         
        for ( j=N*N; j>i; j-- )             
          C += A; 
    }
    else {     
      for ( i=0; i<N*N/100; i++ )         
        for ( j=N; j>i; j-- ) 
          for ( k=0; k<N*3; k++)
            C += B; 
    } 
    

    the lowest upper bound of the time complexity is O(N​3​​). (1分)

    T   

     

    作者: Martin Ester

    单位: 浙江大学

    1-3

    若用链表来表示一个线性表,则表中元素的地址一定是连续的。 (1分)

       F

     

    作者: 陈越

    单位: 浙江大学

    1-4

    线性表的插入、删除总是伴随着大量数据的移动。 (1分)

     F

     

    作者: 李廷元

    单位: 中国民用航空飞行学院

    1-5

    若一个栈的输入序列为1,2,3,…,N,输出序列的第一个元素是i,则第j个输出元素是j−i−1。 (1分)

      F

     

    作者: DS课程组

    单位: 浙江大学

    1-6

    存在一棵总共有2016个结点的二叉树,其中有16个结点只有一个孩子。 (1分)

      F

     

    作者: 何钦铭

    单位: 浙江大学

    1-7

    一棵有124个结点的完全二叉树,其叶结点个数是确定的。 (1分)

    T  

     

    作者: DS课程组

    单位: 浙江大学

    1-8

    在一个有权无向图中,若ba的最短路径距离是12,且cb之间存在一条权为2的边,则ca的最短路径距离一定不小于10。 (1分)

     

    作者: 陈越

    单位: 浙江大学

    1-9

    希尔排序是稳定的算法。 (1分)

     F

     

    作者: DS课程组

    单位: 浙江大学

    1-10

    在散列中,函数“插入”和“查找”具有同样的时间复杂度。 (1分)

    T  

     

     

     

     

    1-1

    将长度分别为m,n的两个单链表合并为一个单链表的时间复杂度为O(m+n)。 (1分)

    F

     

    作者: 干红华

    单位: 浙江大学

    1-2

    对n个整数排序,在最坏的情况下,不能保证以少于O(n)的时间完成。 (1分)

    T  

     

    作者: 干红华

    单位: 浙江大学

    1-3

    对于顺序存储的长度为N的线性表,删除第一个元素和插入最后一个元素的时间复杂度分别对应为O(1)和O(N)。 (1分)

     F

     

    作者: 徐镜春

    单位: 浙江大学

    1-4

    所谓“循环队列”是指用单向循环链表或者循环数组表示的队列。 (1分)

     F

     

    作者: DS课程组

    单位: 浙江大学

    1-5

    线性表的逻辑顺序与物理顺序总是一致的。 (1分)

    F

     

    作者: 李廷元

    单位: 中国民用航空飞行学院

    1-6

    任何最小堆中从根结点到任一叶结点路径上的所有结点是有序的(从小到大)。 (1分)

     

    作者: DS课程组

    单位: 浙江大学

    1-7

    某二叉树的前序和中序遍历序列正好一样,则该二叉树中的任何结点一定都无左孩子。 (1分)

    T

     

    作者: DS课程组

    单位: 浙江大学

    1-8

    对一棵平衡二叉树,所有非叶结点的平衡因子都是0,当且仅当该树是完全二叉树。(1分)

      F

     

    作者: 徐镜春

    单位: 浙江大学

    1-9

    用邻接表法存储图,占用的存储空间数只与图中结点个数有关,而与边数无关。 (1分)

    F

     

    作者: DS课程组

    单位: 浙江大学

    1-10

    如果无向图G必须进行两次广度优先搜索才能访问其所有顶点,则G中一定有回路。 (1分)

     F

     

     

     

     

    展开全文
  • 数据结构试题

    千次阅读 2008-05-09 09:32:00
    第一部分 选择 (共20分)一、单项选择 (本大共8小,每小2分,共16分) 1.某算法的空间花费s(n)=100nlog2n+0.5n1.5+1000n+2000,其空间复杂度为 [ ] A.O(1) B.O(n) C.O(n1.5) D.O(nlog2n) 2.在单项链表...

    第一部分 选择题 (20)

    一、单项选择题 (本大题共8小题,每小题2分,共16)
       1.某算法的空间花费s(n)=100nlog2n+0.5n1.5+1000n+2000,其空间复杂度为 [    ]
      
    A.O(1)                       B.O(n)
         C.O(n1.5)                    D.O(nlog2n)

       2.在单项链表中删除一个指定结点的后继的时间复杂度为 [    ]
      
    A.O(n)                       B.O(nlog2n)
         C.O(1)                       D.O(√n)

       3.n(n>0)个元素的顺序栈中删除1个元素的时间复杂度为 [    ]
      
    A.O(1)                       B.O(√n)
         C.O(nlog2n)                  D.O(n)

       4.对长度为n的字符串进行字符定位运算的时间复杂度为 [    ]
         A.O(1)                       B.O(√n)
         C.O(nlog2n)                  D.O(n)

       5.广义表的深度是 [    ]
         A.
    广义表中子表个数            B.广义表括号个数

         C.
    广义表展开后所含的括号层数 D.广义表中元素个数

       6.高度为h(h>0)的二叉树最少有________个结点 [    ]
         A.h                           B.h-1
         C.h+1                         D.2h

       7.n个顶点的带权无向连通图的最小生成树包含________个顶点 [    ]
         A.n-1                         B.n
         C.n/2                         D.n+1

       8.冒泡排序在最好情况下时间复杂度为 [    ]
      
    A.O(1)                       B.O(nlog2n)
         C.O(n)                       D.O(n2)

        9.采用拉链法解决冲突的散列表中,查找的平均查找长度 [    ]
         A.
    直接与关键字个数有关       B.直接与装填因子a有关

         C.
    直接与表的容量有关         D.直接与散列函数有关

       10.经常修改的索引文件宜采用________做索引。
         A.
    二叉排序树                 B.满二叉树
         C.
    多叉树                     D.B+


    第二部分 非选择题 (80)

    二、填空题 (本大题共10小题,每空2分,共20)

       11.某算法需要的辅助空间为s(n)=10log2n+2000/n+5,则该算法的空间复杂度为_______________
       12.
    n个结点的单链表中,在P指向的结点之后插入一个结点的时间复杂度为_______________
       13.
    SQ为循环队列,存储在数组d[m]中,则SQ出队操作对其队头指针front的修改是_______________
       14.
    串中所含字符个数称为该串的_______________
       15.tail(tail(a,b))=_______________

       16.n(n>0)
    个结点二叉树对应的森林最多包含_______________棵非空树。
       17.
    深度为n(n>0)的二叉树最多有_______________个结点。
       18.n(n>0)
    个结点、(n-1)条边的连通无向图中,顶点度数最大值为_______________
       19.
    堆排序的空间复杂度_______________
       20.
    倒排文件有_______________和主文件构成。


    三、简答题 (本大题共5小题,每小题6分,共30)
       21.
    设有函数:
          void fuc(int n)
          {int i;
            for(i=1;i*i*i<=n;i++)
              prinft("%d",i*i*i);
          }
         
    函数fuc饿时间复杂度是多少?

       22.1234依次进栈(栈初始为空),任何时刻(只要栈不空),都可以出(退)栈,试写出所有可能的出栈序列(如1234)。

       23.若一二叉树有2度结点100个,则其叶结点有多少个?该二叉树可以有多少个1度顶点?

       24.请画出广义表D的图形表示
          D=(D,(a,b),((a,b),c),())

       25.有向图(带权)G如下所示:
         
    试给出用迪杰斯特拉(Dijkstra)算法求上图A到其它各顶点最短路径得到的数组P各元素值(ABCDEF编号依次是12345)。

    四、理解题 (本大题共2小题,每小题6分,共12)

    26.指出下面函数f的功能及返回值的含义。
         int f(char s1[],char s2[])
         {
           int i=0,j=0;
           while(s1[i]&&s2[j]){
             if(s1[i]>s2[j])
               return 1;
             else if(s1[i]<s2[j])
               return -1;
             else i++,j++;
           }
           if(s1[i])
              return 1;
           else if(s2[j])
              return -1;
           else return 0;
         }

    27.指出下面函数FS的功能。其中,p指向先序线索二叉树的某个结点。
         typedef enum{LINK,THERAD}flag;
         typedef char DataType;
         typedef struct node{
           DataType data;
           flag ltag,rtag;
           struct node * lchild, * rchild;
         }BinNode;
         BinNode * FS(BinNode *p)
         {
           if(p->ltag==LINK)
             return p->lchild;
           else
             return p->rchild;
         }

    五、算法填充题 (本大题共1小题,18)
    28.
    下面函数diff的功能是:根据两个由整数(都大于-32768)按升序构成的单链表L1L2(分别由AB指向)构造一个单链表L3(由*r指向),要求L3中的所有整数都是L1并且不是L2中的整数,还要求L3中的所有整数都两两不等。在空缺处填上适当字句,使其能正确工作。
         #include <malloc.h>
         typedef struct node {
           int d;
           struct node *next
         } Node;
         void diff (Node *A, Node *B, Node **r)
         {
           int lastnum;
           Node * p;
           *r=NULL;
           if(!A)return;
           while(_____________)
             if (A->d < B->d)
                _____________;
                p=(Node*) malloc (sizeof(Node));
                p->d=lastnum;
                p->next=*r,_____________;
                do A=A->next;while(_____________);
             }
             else if (A->d > B->d)
                B=B->next
             else {
                  _____________;lastnum=A->d;
                  while (A&&A->d==lastnum)A=A->next;
                }
            while (A) {
              lastnum=A->d;
              p=(Node*) malloc (sizeof(Node));
              p->d=lastnum;
             _____________,*r=p;
             while (A&&A->d==lastnum) A=A->next;
           }
         }

    展开全文
  • 题目:假设序列由n个关键字不同的记录构成(一个记录有一个关键字),要求不经排序而从中选出关键字从大到小顺序的前k(k<n)个记录。试问如何进行才能使所作的关键字间比较次数达到最小? 有无大神会?...
  • 数据结构习题及解析一

    千次阅读 多人点赞 2018-12-20 09:51:36
    数据结构习题解析解析:本考点是顺序表的基本特点。 顺序表是在计算机内存中以数组的形式保存的线性表,是指用一组地址连续的存储单元依次存储数据元素的线性结构。线性表采用顺序存储的方式存储就称之为顺序表。...

    来源:我是码农,转载请保留出处和链接!
    本文链接:数据结构习题解析一
    一、选择题
    1、顺序表是线性表的( )
    A.链式存储结构
    B.顺序存储结构
    C.索引存储结构
    D.散列存储结构
    解析:本题考点是顺序表的基本特点。
    顺序表是在计算机内存中以数组的形式保存的线性表,是指用一组地址连续的存储单元依次存储数据元素的线性结构。线性表采用顺序存储的方式存储就称之为顺序表。顺序表是将表中的结点依次存放在计算机内存中一组地址连续的存储单元中。
    因此,本题参考答案是B。
    2、以下说法错误的是( )
    A.求表长、定位这二种运算在采用顺序存储结构时实现的效率不比采用链式存储结构时实现的效率低
    B.顺序存储的线性表可以随机存取
    C.由于顺序存储要求连续的存储区域,所以在存储管理上不够灵活
    D.线性表的链式存储结构优于顺序存储结构
    解析:本题考点是线性表相关基本概念。
    “线性表的链式存储结构优于顺序存储结构"这种说法是不准确的,可能在某种情况下是对的。比如在随机查找时,顺序表比较有优势。因此,本题参考答案是D。
    3、某二叉树的前序和后序序列正好相同,则该二叉树一定是( )的二叉树。
    A.空或只有一个结点
    B.高度等于其结点数
    C.任一结点无左孩子
    D.任一结点无右孩子
    解析:本题考点是二叉树的基本特点。
    二叉树的每个结点至多只有二棵子树(不存在度大于2的结点),二叉树的子树有左右之分,次序不能颠倒。某二叉树的前序和后序序列正好相同,则该二叉树一定是空或只有一个结点的二叉树。
    因此,本题参考答案是A。
    4、以下说法错误的是( )
    A.每个存储结点只能存放一个数据元素
    B.数据元素之间的关联方式可由存储结点之间的关联方式直接表达
    C.一种存储结构可以在两个级别上讨论。其一是机器级,其二是语言级
    D.语言级描述可经编译自动转换成机器级,因此也可以看成是一种机内表示
    解析:本题考点是数据结构相关基本概念。
    数据元素之间的关联方式不可以由存储结点之间的关联方式直接表达。
    因此,本题参考答案是B。
    5、用链接方式存储的队列,在进行插入运算时( )。
    A.仅修改头指针
    B.头、尾指针都要修改
    C.仅修改尾指针
    D.头、尾指针可能都要修改
    解析:本题考点是队列的操作。
    队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。用链接方式存储的队列,在进行插入运算时头、尾指针可能都要修改。
    因此,本题参考答案是D。
    6、循环队列的出队操作为( )
    A.sq.front=(sq.ftont+1)% maxsize
    B.sq.front=sq.front+1
    C.sq.rear=(sq.rear+1)% maxsize
    D.sq.rear=sq.rear+1
    解析:本题考点是循环队列的基本操作。
    循环队列中,由于入队时尾指针向前追赶头指针;出队时头指针向前追赶尾指针,造成队空和队满时头尾指针均相等。因此,无法通过条件front==rear来判别队列是"空"还是"满”。循环队列的出队操作为sq.front=(sq.ftont+1)% maxsize。
    因此,本题参考答案是A。
    7、下列排序算法中,其中( )是稳定的。
    A.堆排序,冒泡排序
    B.快速排序,堆排序
    C.直接选择排序,希尔排序
    D.归并排序,冒泡排序
    解析:本题考点是算法稳定性的度量。
    假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变,即在原序列中,ri=rj,且ri在rj之前,而在排序后的序列中,ri仍在rj之前,则称这种排序算法是稳定的;否则称为不稳定的。归并排序,冒泡排序是稳定的。
    因此,本题参考答案是D。
    8、最小堆是一个键值序列{k1,k2,…, kn},对i=1,2,…,|n/2|,满足( )
    A.ki≤k2i≤k2i+1
    B.ki<k2i+1<k2i
    C.ki≤k2i且ki≤k2i+1(2i+1≤n)
    D.ki≤k2i 或ki≤k2i+1(2i+1≤n)
    解析:本题考点是最小堆的基本概念。
    堆是一种经过排序的完全二叉树,其中任一非终端节点的数据值均不大于(或不小于)其左孩子和右孩子节点的值。最大堆和最小堆是二叉堆的两种形式。 最大堆:根结点的键值是所有堆结点键值中最大者。 最小堆:根结点的键值是所有堆结点键值中最小者。
    因此,本题参考答案是C。
    9、设数组Data[0…m]作为循环队列SQ的存储空间,front为队头指针,rear为队尾指针,则执行出队操作的语句为( )
    A.front=front+1
    B.front=(front+1)% m
    C.rear=(rear+1)%m
    D.front=(front+1)%(m+1)
    解析:本题考点是队列的出队操作。
    队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。出队操作的语句为front=(front+1)%(m+1)。
    因此,本题参考答案是D。
    10、以下说法错误的是( )
    A.树形结构的特点是一个结点可以有多个直接前趋
    B.线性结构中的一个结点至多只有一个直接后继
    C.树形结构可以表达(组织)更复杂的数据
    D.树(及一切树形结构)是一种"分支层次"结构
    解析:本题考点是树形结构的特点。
    树形结构的特点是一个结点最多有一个直接前趋。
    因此,本题参考答案是A。
    二、判断题
    1、中序遍历二叉排序树可以得到一个有序的序列( )
    A正确
    B错误
    解析:本题考点是二叉排序树的遍历。
    二叉排序树或者是一棵空树,或者是具有下列性质的二叉树:
    (1)若左子树不空,则左子树上所有结点的值均小于它的根结点的值;
    (2)若右子树不空,则右子树上所有结点的值均大于或等于它的根结点的值;
    (3)左、右子树也分别为二叉排序树;
    (4)没有键值相等的节点。 中序遍历二叉排序树可以得到一个有序的序列。
    因此,本题参考答案是A。
    2、用非递归方法实现递归算法时一定要使用递归工作栈。( )
    A正确
    B错误
    解析:本题考点是递归算法的非递实现。
    用非递归方法实现递归算法时不一定要使用递归工作栈,使用普通数组模拟栈即可。
    因此,本题参考答案是B。
    3、将f = 1 + 1/2 + 1/3+ … + 1/n转化为递归函数时,递归部分为f (n) = f (n-1) + 1/n,递归结束条件为f (1) = 1。( )
    A正确
    B错误
    解析:本题考点是递归函数的转化。
    程序调用自身的编程技巧称为递归。递归做为一种算法在程序设计语言中广泛应用。一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。根据题意,递归结束条件为f (1) = 1。
    因此,本题参考答案是A。
    4、一个广义表的表头总是一个广义表。( )
    A正确
    B错误
    解析:本题考点是广义表的特点。
    广义表的表头是指表的第一个元素,表尾是指除表头外的其余元素构成的表,所以表尾是广义表,而表头不一定是。
    因此,本题参考答案是B。
    5、层次遍历初始堆可以得到一个有序的序列。( )
    A正确
    B错误
    数据结构习题解析解析:本题考点是初始堆的层次遍历。
    根据堆的定义,层次遍历初始堆不一定得到一个有序的序列。
    因此,本题参考答案是B。
    6、线性表的顺序存储表示优于链式存储表示。( )
    A正确
    B错误
    解析:本题考点是线性表的存储表示。
    线性表的顺序存储表示优于链式存储表示,这种说法是不准确的,比如对线性表进行插入和删除时,链式存储有优势。
    因此,本题参考答案是B。
    7、一个广义表 ( (a), ( (b), c), ( ( (d) ) ) ) 的表尾是 ( (b), c), ( ( (d) ) )。( )
    A正确
    B错误
    解析:本题考点是广义表相关基本概念。
    一个广义表 ( (a), ( (b), c), ( ( (d) ) ) ) 的表尾是( ( (b), c), ( ( (d) ) ))。
    因此,本题参考答案是B。
    8、当向一个最小堆插入一个具有最小值的元素时,该元素需要逐层向上调整,直到被调整到堆顶位置为止。( )
    A正确
    B错误
    解析:本题考点是堆的调整过程。
    堆是一种经过排序的完全二叉树,其中任一非终端节点的数据值均不大于(或不小于)其左孩子和右孩子节点的值。最大堆和最小堆是二叉堆的两种形式。 最大堆:根结点的键值是所有堆结点键值中最大者。 最小堆:根结点的键值是所有堆结点键值中最小者。 当向一个最小堆插入一个具有最小值的元素时,该元素需要逐层向上调整,直到被调整到堆顶位置为止。
    因此,本题参考答案是A。
    9、线性表的插入和删除总是伴随着大量数据的移动( )
    A正确
    B错误
    解析:本题考点是线性表的基本操作。
    线性表的插入和删除并不总是伴随着大量数据的移动,例如线性表是链式存储时移动代价较小。
    因此,本题参考答案是B。
    10、二叉树是一棵无序树。( )
    A正确
    B错误
    解析:本题考点是二叉树的定义和特点。
    二叉树是每个结点最多有两个子树的有序树。二叉树常被用于实现二叉查找树和二叉堆。值得注意的是,二叉树不是树的特殊情形。
    因此,本题参考答案是B。
    三、分析题
    1、设将整数a、b、c、d依次进栈,而只要栈非空,就可以将出栈操作夹入其中。请问能否得到出栈序列adbc和dcba?为什么?
    解析:本题考点是进栈和出栈的特点。
    栈是一种运算受限的线性表。其限制是仅允许在表的一端进行插入和删除运算。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。栈是一种后进先出的数据结构。 因此,本题答题要点如下:
    能得到dcba:push, push, push,push,pop, pop, pop,pop
    但不能得到adbc: 因为d出来的时候 b,c还在栈内,次序必然b在下c在上,因此紧跟d下一个出栈的必然是c而不是b。
    2、写出下列二叉树的前序序列、中序序列和后序序列。
    二叉树
    解析:本题考点是二叉树的前序、中序和后序遍历算法的基本思想。
    遍历是对树的一种最基本的运算,所谓遍历二叉树,就是按一定的规则和顺序走遍二叉树的所有结点,使每一个结点都被访问一次,而且只被访问一次。由于二叉树是非线性结构,因此,树的遍历实质上是将二叉树的各个结点转换成为一个线性序列来表示。
    先序遍历是首先访问根,再先序遍历左(右)子树,最后先序遍历右(左)子树。
    中序遍历是首先中序遍历左(右)子树,再访问根,最后中序遍历右(左)子树。
    后序遍历是首先后序遍历左(右)子树,再后序遍历右(左)子树,最后访问根。
    因此,本题答题要点如下:
    前序序列:CABEFDHG
    中序序列:ABFECHDG
    后序序列:BFEAHGDC
    3、简述链队的类型定义。
    数据结构习题解析解析:本题考点是队列的链式存储结构的表示。
    队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。在队列的形成过程中,可以利用线性链表的原理,来生成一个队列。基于链表的队列,要动态创建和删除节点,效率较低,但是可以动态增长。因此,本题答题要点如下:
    typedef struct linked_queue
    {
    DataType data;
    struct linked_queue *next;
    }LqueueTp;
    typedef struct queueptr
    {
    LqueueTp *front, *rear;
    }QueptrTp;
    QueptrTp lq;
    4、把下图中的二叉树转化为森林。
    image.png
    数据结构习题解析解析:本题考点是二叉树转化为森林的基本方法。
    比如,若二叉树为空,树也为空;否则,由二叉树的根结点开始,延右指针向下走,直到为空,途经的结点个数是相应森林所含树的棵数;若某个结点的左指针非空,说明这个结点在树中必有孩子,并且从二叉树中该结点左指针所指结点开始,延右指针向下走,直到为空,途经的结点个数就是这个结点的孩子数目。因此,本题答题要点如下:
    二叉树转化成的森林为:
    森林

    展开全文
  • 数据结构习题及解析三

    千次阅读 2018-12-20 12:48:40
    数据结构复习解析解析:本考点是二叉树中各层结点个数的计算方法。 二叉树中第i层上的结点个数最多为2i-1。因此,本参考答案是C。 2.一个无向连通图的生成树是含有该连通图的全部顶点的_____。 A. 极小连通...
  • 数据结构习题及解析二

    千次阅读 2018-12-20 12:41:08
    本文链接:数据结构习题解析二 一、选择 1、数组的数据元素类型DataType可根据实际需要而定义。以下说法完全正确的是( ) A.数组的读运算可以读取一个数据元素整体,写运算只能修改一个数据元素的一部分 B.数组...
  • 数据结构习题及解析四

    千次阅读 2018-12-20 12:58:11
    来源:我是码农,转载请保留出处和链接! ...一、选择 1、非空循环链表head 的尾结点 p 满足下列( )条件。...数据结构习题解析及答案解析:本考点是非空循环链表的特性。 因为是非空循环链表,所以尾结...
  • 数据结构试题 一、选择 1.判断哪个表结构是逻辑结构( ) A.顺序表 B.哈希表 C.有序表 D.单链表 答案:C 2.关于算法的优越性判断,以下正确的是( ) A.算法原地工作是指不需要额外的辅助空间 B.健壮性是指程序不...
  • 数据结构试题3

    千次阅读 2008-05-09 09:35:00
    数据结构试题32007-01-18 10:28 〖微笑天使收集整理QQ:84024257〗 一、选择(每小2分,共8分) 1. 若需要利用形参直接访问实参,则应把形参变量说明为( )参数。 A
  • 高级数据结构题库

    千次阅读 2018-08-02 09:45:53
    网络课课后 1、在5x5的矩阵中,有2个非零元素,则稀疏因子为____。 答案: 0.08 2、下列关于十字链表的表述正确的有: A、十字链表的节点只需要记录非零元素的值,不需要记录它们在矩阵中的位置。 B、一...
  • 数据结构试题4

    千次阅读 2008-05-09 09:39:00
    数据结构试题42007-01-18 10:29 〖微笑天使收集整理QQ:84024257〗 一、选择(每小1分,共10分) 1、在一个长度为n的顺序表的任一位置插入一个
  • 笔试题:经典数据结构题

    千次阅读 2016-03-07 10:31:14
    数据结构篇 --------------------- Tips: 入栈出栈顺序诀窍——看首个出栈字母,在其之前入栈的字母必须按顺序出栈。 ---------------------- 1.n个结点的线索二叉树上含有的线索数为(n+1) 线索二叉树:对于n...
  • 数据结构 习题答案

    2015-10-05 08:30:46
    若一个线性表L采用顺序存储结构存储,其中所有元素为整数,设计一个算法,将所有小于0的元素面前,要求算法的时间复杂度为O(n),空间复杂度为O(l)
  • 数据结构习题之绪论

    千次阅读 2015-06-25 21:45:48
    第一章 ...熟悉C语言的书写规范,理解算法的5个要素的确切含义,即有穷性、确定性、可行性及有输入、有输出,从而掌握计算语句频度和估计算法时间复杂度的方法等,为学习数据结构打下基础。 二.  考核
  • 更多西南交通大学真题,参考:西南交通大学计算机考研——数据结构真题系列 一、考研真题 1.已知穿线二叉树结点数据类型定义如本卷第二大第8小所示,若二叉树已经线索华,试编写算法函数,形参传入根结点root,...
  • public int findLHS(int[] nums) { Map<Long, Integer> map = new HashMap<>(); for (long num : nums) { map.put(num, map.getOrDefault(num, 0) + 1); ... for (long key : map.keySet()) { ...
  • BST数据结构题

    2015-06-30 10:44:03
    关键是这递归参数怎么设计,每个点比他大的有两快,一个是右子书(如果有的话),另一个是祖先里面比他大的,如果直接用这两个的话,找不到递归结构。 应该设计第一个参数是祖先比他大的节点和,第二个参数是子树的...
  • 数据结构习题之线性表

    千次阅读 2015-06-26 16:27:04
     本章主要介绍线性表的逻辑结构和各种存储表示方法,以及定义在逻辑结构上的各种基本运算及其在存储结构上如何实现这些基本算法。本章的重点是熟练掌握顺序表(即线性表的顺序存储)和单链表上实现各种基本算法以及...
  • BJFU_OJ系统数据结构习题目录

    千次阅读 2019-11-27 12:07:17
    204基于顺序存储结构的图书信息表的创建和输出 205基于顺序存储结构的图书信息表的排序 206基于顺序存储结构的图书信息表的修改 207基于顺序存储结构的图书信息表的逆序存储 208基于顺序存储结构的图书信息表的...
  • PTA数据结构习题(浙江大学)

    千次阅读 2020-03-30 20:03:09
    感谢疫情期间PTA开放免费练习,趁着这个机会补一下数据结构的代码。 下面代码都是在VS2015中编译成功跑过的,需要在预处理器里面加上 _CRT_SECURE_NO_WARNINGS 1. 实验11-2-2 学生成绩链表处理(得20/满分20) #...
  • 数据结构习题——第一章 绪论

    万次阅读 多人点赞 2013-09-08 22:31:44
    1.数据结构被形式地定义为(K,R),其中K是①的有限集合,R是K上的②的有限集合。  ①A.算法 B.数据元素 C.数据操作 D.逻辑结构  ②A.操作 B.映象 C.存储 D.关系 2.算法分析的目的是①,算法...
  • 最近在复习数据结构,所以想把平时上课做的习题做个总结,如果大家有遇到这方面的问题就可以参考一下了,废话不多说,直接开始吧。 1、单选 S1=“ABCD”,S2=“CD”则S2在S1中的位置是(D ) A.1 B.4 C.2 D.3 2、...
  • 北航面试之数据结构试题

    千次阅读 2016-06-03 11:40:21
    4.栈通常采用的两种存储结构是(线性存储结构和链表存储结构) 5.下列关于栈的叙述正确的是(D)  A.栈是非线性结构B.栈是一种树状结构C.栈具有先进先出的特征D.栈有后进先出的特征 6.链表不具有的特点是(B)A....

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 59,499
精华内容 23,799
关键字:

数据结构题

数据结构 订阅