1. 求以下算法的时间复杂度x=n;             //n>1y=0;while (y
    答案:O(n)
  2. 在C语言中“! ”是个什么符号(   )

  3. 答案:逻辑
  4. 栈和队列的共同特点是( )。

  5. 答案:只允许在端点处插入和删除元素
  6. 串的定长顺序存储表示可用()描述。

  7. 答案:定长数组
  8. 链栈的出栈操作,需要判断栈内是否有元素,写出判断条件的C语句。()

  9. 答案:if (S.top= =S.base) return NULL;
  10. 排序就是将一组“无序”的记录序列调整为“有序”的记录序列。

  11. 答案:对
  12. 在单链表中删除第 i 个结点的基本操作为(    )

  13. 答案:修改其指向后继的指针。###找到线性表中第i-1个结点,
  14. 数据的基本单位()

  15. 答案:数据元素
  16. 如果顺序表作删除操作Status ListDelete_Sq  (SqList &L, int i, ElemType &e) ,被删除元素之后的元素左移,以下哪条语句能表示这个操作(  )

  17. 答案:for (++p; p <= q; ++p)  *(p-1) = *p;
  18. 在VS2010中,int占4个字节的空间,则sizeof(int)=_______。

  19. 答案:4
  20. 经过排序这些记录的相对次序保持不变,则称这种排序算法是不稳定的。

  21. 答案:错
  22. C语言中,用typedef进行新的类型名的定义()
  23. 数据结构指的是数据和数据之间的关系
  24. 以下函数中哪几个是C语言中的动态分配函数(   )
  25. 表示数据与数据之间的(      )关系:
  26. 算法(Algorithm)指的是(         )
  27. 顺序表的删除操作,表长的变化是(     )
  28. 线性表的顺序存储是指在内存中用一块地址(   )的空间依次存放线性表的数据元素.
  29. 用链接方式存储的队列,在进行插入运算时( ).
  30. 用Status ListInsert_Sq(SqList &L, int i, ElemType e) 进行操作时,表长的变化()
  31. 树最适合用来表示( )
  32. 可以使用C语言中的(  )依次存放线性表中的数据元素
  33. 插入元素时, 线性表的逻辑结构发生了变化。    内容已经隐藏,点击付费后查看
  • 顺序表的删除不影响表的逻辑结构(         )
  • 在C语言中,存在一个称之为“堆”的自由存储区,并由C语言的动态分配函数()和()来管理。
  • 内部排序是将待排序记录存放在计算机()中进行的排序过程 。
  • 定义顺序表存储空间时,使用C语句定义顺序表的基址:ElemType   * elem;    该elem指针指向内存中所开辟的顺序表空间的首地址。
  • 顺序存储结构的主要缺点是不利于插入或删除操作。(  )
  • 算法+数据结构=程序
  • 集合这种数据结构,其操作需借助其它数据结构来实现( )
  • 链栈入栈时,是在栈底插入结点。
  • 在完成定义一个线性表的顺序存储结构时,定义了一个新的类型SqList,这个新类型SqList中应该包括以下哪几个成员(      )
  • 在单链表的开始结点之前附加一个头结点,会带来()优点。
  • 索引顺序表是顺序查找的一种改进方法,在建立()的同时,建立一个()。
  • 关于树这种数据结构以下几种说法对的是()
  • 设一条单链表的头指针变量为head且该链表没有头结点,则其判空条件是(  )。
  • 已知  #define  LIST_INIT_SIZE  100         //线性表存储空间的初始分配量     VS2010中int占4个字节          请问:VS2010使用语句      malloc(LIST_INIT_SIZE * sizeof(int))       开辟__________字节的内存空间。
  • 当应用程序中需要一个与数据保存时顺序相反的数据时,就要想到()
  • 线性表的初始化函数InitList_Sq( SqList & L),中表长初始化语句是下面的哪一句 ()
  • 串的实际长度可在这个预定义长度的范围内随意设定,超过预定义长度的串值则被舍去,称之为“截断”。
  • 邻接表是图的一种顺序存储与链式存储相结合的存储结构,类似于树的二叉链表法。
  • 由于串是一种特殊的线性表,所以串和线性表的操作对象是相同的。
  • 初始化一个线性表,其中很重要的一项就是在内存中定义一个地址连续的空间。
  • 设一组初始记录关键字序列为(25,50,15,35,80,85,20,40,36,70),其中含有5个长度为2的有序子表,则用归并排序的方法对该记录关键字序列进行一趟归并后的结果为(   )。
  • 本书为了便于读者理解,一般记录序列中只列出()部分,设待排序记录的关键字均为()。
  • 和单链表的差别仅在于,判别链表中最后一个结点的条件不再是(  ),而是(  )。
  • 已知://线性表的动态分配顺序存储结构#define  LIST_INIT_SIZE  100         //线性表存储空间的初始分配量#define  LISTINCREMENT 10         //线性表存储空间的分配增量typedef  struct{    ElemType   * elem;                      //存储空间基址    int          length;                     //当前线性表长度    int        listsize;                       //当前分配的存储容量(以sizeof(ElemType)为单位)}SqList; 定义一个顺序表类型的变量:SqList S;在初始化顺序表S时,需要对顺序表S中的成员变量(  ),(      ), (      )赋初值。
  • 在栈的基本操作 DestroyStack(&S) 中,它的初始条件是(),操作结果为() 。
  • 线性表的删除操作Status ListDelete_Sq  (SqList &L, int i, ElemType &e) ,哪一条语句表示其位置不合法()
  • 查找表可分为两类()
  • 对线性表中的数据元素进行(  )和(  )等操作,实现表的长度的增长或缩短。
  • 线性表的抽象数据类型定义
  • 在进行一趟插入排序时,把n个记录的序列划分为()和()。
  • 在单链表中插入结点只需要()。但同时,若要在第( )个结点之前插入元素,修改的是第 ( )个结点的指针。
  • C语言中动态分配空间,用下面的哪些函数(   )
  • 和链栈类似,用单链表来实现链队。根据队的先入先出(FIFO)原则,为了操作上的方便,使用一个( )和( )。
  • 算法的特性()
  • 以下那几种排序是插入排序()
  • 双向链表需要在结点中设两个指针域(   )
  • 我们使用(   ),实现线性表的顺序存储。
  • windows 操作系统中的纸牌游戏,用的是哪种数据结构()
  • windows 操作系统中的人机对弈游戏,用的是哪种数据结构()
  • 在TC中,int占2个字节的空间,则sizeof(int)=_______。
  • 当我们不断向线性表中插入数据时,表的空间会不够,此时需要对表的空间进行扩展,因此在进行顺序表的存储定义时,以下哪一条宏定义(     ),是对表进行空间扩展的。
  • 对线性表进行动态分配顺序存储定义过程中,还要对线性表的存储空间进行(  )的宏定义。
  • 设一组权值集合W={2,3,4,5,6},则由该权值集合构造的哈夫曼树中带权路径长度之和为( )
  • 数据结构是一门研究非数值计算的程序设计问题中计算机的数据元素以及它们之间的____和运算等的学科。
  • 有N个元素组成的线性表,我们说此线性表的长度为( )
  • 在单链表基体操作Status ListDelete_L(LinkList L, int i, ElemType &e) 中寻找第 i-1 个结点,并令 p 指向其前趋的语句是:(  )
  • 执行一趟快速排序能够得到的序列是(  )。
  • 求以下语句的时间复杂度: for (i=1; i
  • 栈操作数据的原则是(  )。
  • 队列的顺序存储结构用C语言中( )数据类型实现。
  • 二叉树的第k层的结点数最多为( )
  • 设按照从上到下、从左到右的顺序从1开始对完全二叉树进行顺序编号,则编号为i结点的左孩子结点的编号为(  )。
  • 设某二叉树中度数为0的结点数为N0,度数为1的结点数为Nl,度数为2的结点数为N2,则下列等式成立的是(  )。
  • 双向链表中,当指针p指向非空表中的非头尾结点时,以下哪个式子是正确的()
  • 深度为k的完全二叉树中最少有(  )个结点。
  • 以数据集{1,3,5,7}为叶结点的权值,构造一棵哈夫曼树,求出带权路径长度WPL()。
  • 使用折半方法进行查找的表是一个有序表。
  • 描述形式是算法的最终形式
  • 单链表和线性表中所有基本操作相同,且编程实现方法相同。
  • 双向链表的“删除” 时需要同时修改两个方向上的指针,改变结点之间的逻辑关系。
  • 堆分配存储结构的串有顺序存储结构的特点,在操作中对串长又没有任何限制,因而在串处理的应用程序中常被选用。
  • 如果在顺序表L的第 i 个元素之前插入新的元素e,则 i 的合法范围为  1≤i≤L.length+1
  • 子串“ABC”在主串“AABCABCD”中的位置为2。(  )
  • 设一棵二叉树的先序序列和后序序列,则能够唯一确定出该二叉树的形状。( )
  • 结点的祖先是从根到该结点所经分支上的所有结点。反之,以某结点为根的子树中的任一结点都称为该结点的子孙。
  • 空串与空格串相同
  • 入栈需要修改地址指针。
  • 对算法的描述包括程序形式和描述形式。
  • 冒泡排序在初始关键字序列为逆序的情况下执行的交换次数最多。( )
  • 顺序表查找指的是在顺序存储结构上进行查找。(  )
  • 二叉树的遍历就是,顺着某一条路径访问二叉树中的结点,使得每个结点均被访问,而且可访问多次。
  • 排序分稳定排序和不稳定排序。(  )
  • 设一组初始记录关键字序列为(50,40,95,20,15,70,60,45),则以增量d=4的一趟希尔排序结束后前4条记录关键字为(   )。
  • 设一组初始记录关键字序列为(45,80,55,40,42,85),则以第一个记录关键字45为基准而得到一趟快速排序的结果是(  )。
  • 时间复杂度不受数据初始状态影响而恒为O(nlog2n)的是(  )。
  • 设用邻接矩阵A表示有向图G的存储结构,则有向图G中顶点i的入度为(  )。
  • 设某无向图有n个顶点,则该无向图的邻接表中有(  )个表头结点。
  • 设一组权值集合W={2,3,4,5,6},则由该权值集合构造的哈夫曼树中带权路径长度之和为(  )。
  • 连通图的最小生成树的边上的权值之和是唯一的。(  )
  • 设某完全无向图中有n个顶点,则该完全无向图中有( )条边
  • 简单回路就是回路。
  • 对链表进行插入和删除操作时不必移动链表中结点。(  )
  • 图中任两点有路径相通,该图称为连通图()
  • 树的带权路径长度定义为,树中所有叶子结点的带权路径长度之和(对所有叶子结点)。()
  • 设二叉树的先序遍历序列和后序遍历序列正好相反,则该二叉树满足的条件是(  )。
  • 设某棵二叉树的中序遍历序列为ABCD,前序遍历序列为CABD,则后序遍历该二叉树得到序列为(   )。
  • 满二叉树一定是完全二叉树,完全二叉树不一定是满二叉树。( )
  • 在C语言中,存在一个称为“堆”的自由存储区,并由C语言的动态分配函数________来管理。
  • SubString( sub, 'commander', 1, 9)  求得  sub = '_______';
  • 在串的表示和实现过程中,用一组地址不连续的存储单元存储串值中的字符序列,称为串的定长顺序存储方式。
  • 在顺序串中,用一个指针来指向最后一个字符,C语言的表示如下:typedef struct{  char  data[MAXSIZE];   int   curlen;} SeqString;请定义一个串变量:
  • 串比较是按字符的ASCII值比较的,而不是按串的长度比较的。    StrCompare('data', 'structures')        ________    0;
  • 串的基本操作中,操作对象大多为“串的整体”。
  • 包含零个字符(n=0)的串称为空串,通常记为Ф,其长度为零;空串是任意串的子串。
  • 串(即字符串)是一种特殊的线性表,它的数据元素是( )。
  • 顺序栈中数据元素与栈顶指针的变化:非空栈中的栈顶指针top始终在的 ()下一个位置
  • 在初始化空顺序栈时一般不限定栈的最大容量,因为,栈在使用过程中所需最大空间的大小很难估计。
  • 链栈的结点结构与单链表的结点结构相同,由()和()组成。
  • 构造一个空栈S 时,不需要用动态存储空间分配函数。
  • 利用()的存储单元依次存放自栈底到栈顶的数据元素,这种形式的栈称为顺序栈。
  • 队列允许在表的一端进行插入操作和删除操作。
  • 设指针变量front表示链式队列的队头指针,指针变量rear表示链式队列的队尾指针,指针变量s指向将要入队列的结点X,则入队列的操作序列为(  )。
  • 链栈主要的运算,如插入、删除是在栈顶执行的。 链表的头部作栈顶是最方便的,需要像单链表那样为了运算方便附加一个头结点。
  • 队列是一种(  )的线性表。
  • 栈与队列是一种特殊操作的线性表(   )
  • 栈和队列不能进行再分配了。
  • 数字钟程序中使用的时间,可以是系统时间。
  • 双向链表的“插入” 时不需要同时修改两个方向上的指针,改变结点之间的逻辑关系。
  • 在链表中第i 个结点之前插入新的元素 e ,表的逻辑结构不变。
  • 已知单向链表中指针p指向结点A,(     )表示删除A的后继结点(若存在)的链操作(不考虑回收)。
  • ()是一种最简单的线性结构。
  • 线性表的基本操作是用C语言中的(   )对其进行表示的。
  • (    )线性表的数据元素可以由所描述对象的各种特征的数据项组成。
  • 已知last指向单向简单链表的尾结点,将s所指结点加在表尾,不正确的操作是____。
  • 已知h是指向单向加头链表的首指针,删除表头结点的操作是_____。
  • 算法的特征包括有穷性、确定性、可行性和输入输出。
  • 算法的描述形式包括
  • 著名计算机科学家沃思教授提出的公式:   程序 = (  ) + (  ),也说明了数据结构的重要性。
  • 描述非数值计算问题的数学模型不再是数学方程,而是数据结构(   )。
  • 数据结构是一门研究(  )程序设计问题中计算机的(  )以及它们之间的(  )和(  )等的学科。
  • 顺序存储结构: 借助元素在存储器中的(  )来表示数据元素间的逻辑关系。
  • “数据结构”是介于( )、( )和( )三者之间的一门核心课程。
    温馨提示支付 ¥5.00 元后可查看付费内容,请先翻页预览!
    点赞(9) dxwkbang
    返回
    顶部