知识大全 2013年10月北京高教自考“数据结构”试卷

Posted 结点

篇首语:三人行必有我师焉;择其善者而从之,其不善者而改之。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 2013年10月北京高教自考“数据结构”试卷相关的知识,希望对你有一定的参考价值。

  第一部分 选择题 (共 分)

  一 单项选择题 (本大题共 小题 每小题 分 共 分)

   某算法的空间花费s(n)= nlog n+ n + n+ 其空间复杂度为 [ ]

  A O( ) B O(n)

  C O(n ) D O(nlog n)

   在单项链表中删除一个指定结点的后继的时间复杂度为 [ ]

  A O(n) B O(nlog n)

  C O( ) D O(√n)

   在n(n> )个元素的顺序栈中删除 个元素的时间复杂度为 [ ]

  A O( ) B O(√n)

  C O(nlog n) D O(n)

   对长度为n的字符串进行字符定位运算的时间复杂度为 [ ]

  A O( ) B O(√n)

  C O(nlog n) D O(n)

   广义表的深度是 [ ]

  A 广义表中子表个数 B 广义表括号个数

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

   高度为h(h> )的二叉树最少有________个结点 [ ]

  A h B h

  C h+ D h

   n个顶点的带权无向连通图的最小生成树包含________个顶点 [ ]

  A n B n

  C n/ D n+

   冒泡排序在最好情况下时间复杂度为 [ ]

  A O( ) B O(nlog n)

  C O(n) D O(n )

   采用拉链法解决冲突的散列表中 查找的平均查找长度 [ ]

  A 直接与关键字个数有关 B 直接与装填因子a有关

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

   经常修改的索引文件宜采用________做索引

  A 二叉排序树 B 满二叉树

  C 多叉树 D B+树

  第二部分 非选择题 (共 分)

  二 填空题 (本大题共 小题 每空 分 共 分)

   某算法需要的辅助空间为s(n)= log n+ /n+ 则该算法的空间复杂度为_______________

   在n个结点的单链表中 在P指向的结点之后插入一个结点的时间复杂度为_______________

   设SQ为循环队列 存储在数组d[m]中 则SQ出队操作对其队头指针front的修改是_______________

   串中所含字符个数称为该串的_______________

   tail(tail(a b))=_______________

   n(n> )个结点二叉树对应的森林最多包含_______________棵非空树

   深度为n(n> )的二叉树最多有_______________个结点

   n(n> )个结点 (n )条边的连通无向图中 顶点度数最大值为_______________

   堆排序的空间复杂度_______________

   倒排文件有_______________和主文件构成

  三 简答题 (本大题共 小题 每小题 分 共 分)

   设有函数

  void fuc(int n)

  int i;

  for(i= ;i*i*i<=n;i++)

  prinft( %d i*i*i);

  

  函数fuc饿时间复杂度是多少?

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

   若一二叉树有 度结点 个 则其叶结点有多少个?该二叉树可以有多少个 度顶点?

   请画出广义表D的图形表示

  D=(D (a b) ((a b) c) ())

   有向图(带权)G如下所示

  试给出用迪杰斯特拉(Dijkstra)算法求上图A到其它各顶点最短路径得到的数组P各元素值(A B C D E F编号依次是 )

  四 理解题 (本大题共 小题 每小题 分 共 分)

   指出下面函数f的功能及返回值的含义

  int f(char s [] char s [])

  

  int i= j= ;

  while(s &&s [j])

  if(s >s [j])

  return ;

  else if(s

  return ;

  else i++ j++;

  

  if(s )

  return ;

  else if(s [j])

  return ;

  else return ;

  

   指出下面函数FS的功能 其中 p指向先序线索二叉树的某个结点

  typedef enumLINK THERADflag;

  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;

  

  五 算法填充题 (本大题共 小题 分)

   下面函数diff的功能是 根据两个由整数(都大于 )按升序构成的单链表L 和L (分别由A B指向)构造一个单链表L (由*r指向) 要求L 中的所有整数都是L 并且不是L 中的整数 还要求L 中的所有整数都两两不等 在空缺处填上适当字句 使其能正确工作

  #include

  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;

  

cha138/Article/program/sjjg/201311/23384

相关参考