年华北计算技术研究所专业课试题及答案.docVIP

  • 5
  • 0
  • 约1.92千字
  • 约 4页
  • 2017-06-07 发布于重庆
  • 举报

年华北计算技术研究所专业课试题及答案.doc

年华北计算技术研究所专业课试题及答案

华北计算技术研究所2005年专业课试题 要求: 1. 答案必须写在答题纸上,并标明题号。 2. 答案要字迹清楚,语义确切。 3. 所有计算要求给出计算过程。 填空题(20分) 是对特定问题求解步骤的一种描述,它是指令的有限序列,其中每一条指令表示一个或多个操作。它具有5个重要特征: 、 、 、 、 。 一棵非空的二叉树,其第i层上最多有 个结点。满二叉树是一棵深度为k且恰好有 个结点的二叉树。 图的存储结构包括 、 、 和 等几种。图的遍历路径包括 和 。 常用的构造哈希函数的方法有 、 、 、 、 、 和 。 选择题(20分) 请在你认为正确的答案所对应的字母上画“√”。 在C语言中,要存储一个8个字符的字符串,至少需要声明大小为多少的一维字符数组? (A) 7 (B)8 (C)9 (D)10 两个矩阵A:m×n,B:n×p相乘,其时间复杂度为: (A) O n (B)O mnp (C)O n2 (D)O n3 下列程序为将一条数据插入栈上: void add int top,element item if top MAX_STACK_SIZE-1 return stack_full ; stack[ ] item; 则在stack[ ]的中括号内横线上的正确内容应为: (A)++*top (B)*top++ (C)*top-- (D)*top 有如下函数: void fun struct node h1,struct node h2 struct node *t; t h1; while t- next! ’\0’ t t- next; t- next h2; 其中形参h1和h2分别指向2个不同链表的第一个结点,此函数的功能是: 将链表h2接到链表h1后 将链表h1接到链表h2后 找到链表h1的最后一个结点由指针返回 将链表h1拆分成两个链表 一个栈的入栈序列是abcde,则栈的不可能输出序列是: (A) edcba (B) decba (C) dceab (D) abcde 回答问题,并给出理由。(10分) 设在一个有关串的程序编码当中,有如下定义与赋值: const char A[] ‘a’,’b’,’c’,’\0’ ; char B[] ‘a’,’b’,’c’,’d’,’\0’ ; … … for i 0;i 4;i++ A[i] ’a’; B[i] ’b’; … ... 在该程序编码中是否有错?为什么? 若A为一下三角矩阵数组,则采用以行为主和以列为主的数据存放方式哪一种更合适?为什么? 根据要求编写算法。(20分) 线性表A和B均是按元素值递增有序排列,均以单链表作存储结构。请编写一算法将表A和表B归并成一个按元素值递减有序排列的线性表C(允许表中含有值相同的元素),并要求利用原表空间。 编写一个算法,对于输入的十进制非负整数,将它的八进制表示打印出来。 回答以下问题,并给出计算或推理过程。(20分) 已知一棵二叉树的中序序列为cbedahgijf,后序序列为cedbhjigfa。给出其先序序列,并画出该二叉树。 画出对长度为10的有序表进行折半查找的一棵判定树,并求其等概率时查找成功的平均查找长度。 已知如图所示的有向图,请给出该图的: 每个顶点的入/出度; 邻接矩阵; 邻接表; 逆邻接表; 强连通分量。(10分) 下图是一个有向图,其中每条弧段上的数字表示该弧段的权值。 请用Dijkstra算法计算v0到各点的最短路径(要求给出计算过程)。 给出用C语言描述的Dijkstra算法。(20分) 请回答以下有关C++语言的问题。(16分) 请比较一下值调用与引用调用的相同点和不同点。 什么叫作抽象类?抽象类有何作用?抽象类的派生类是否一定要给出纯虚函数的实现? 什么叫作指针?指针中存储的地址和这个地址中的值有何区别? 什么叫拷贝构造函数?拷贝构造函数何时被调用? 建立基类Building,用来存储一座楼房的层数、房间数以及它的总平方英尺数。建立派生类Housing,继承Building,并存储下面的内容:卧室和浴室的数量。另外,建立派生类OfficeBuilding,继承Building,并存储灭火器和电话的数目。 然后,用C++语言编制应用程序,建立住宅楼对象和办公楼对象,并输出它们的有关数据。(14分) 第 4 页 共 4 页 ① ⑥ ③ ② ⑤ ④ 20 V3 V4 V2 V1 V5 5 30 50 60 10 10 100 v0

文档评论(0)

1亿VIP精品文档

相关文档