ImageVerifierCode 换一换
格式:DOCX , 页数:9 ,大小:42.67KB ,
资源ID:17858623      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/17858623.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(福州大学863数据结构与程序设计模拟题2Word格式文档下载.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

福州大学863数据结构与程序设计模拟题2Word格式文档下载.docx

1、A仅 B仅、 C仅 D仅、9为提高散列(Hash)表的查找效率,可以采取的正确措施是()增大装填(载)因子 设计冲突(碰撞)少的散列函数 处理冲突(碰撞)时避免产生聚集(堆积)现象 A仅 B仅 C仅、 D仅、11已知序列25,13,10,12,9是大根堆,在序列尾部插入新元素18,将其再调整为大根堆,调整过程中元素之间进行的比较次数是()A1 B2 C4 D512. 对下图进行拓扑排序,可以得到不同的拓扑序列的个数是()A4 B3 C2 D113.已知一个长度为16 的顺序表L,其元素按关键字有序排列。若采用折半查找法查找一个L 中不存在的元素,则关键字的比较次数最多的是()A4 B5 C6

2、D714采用递归方式对顺序表进行快速排序。下列关于递归次数的叙述中,正确的是()A递归次数与初始数据的排列次序无关 B每次划分后,先处理较长的分区可以减少递归次数 C每次划分后,先处理较短的分区可以减少递归次数 D递归次数与每次划分后得到的分区的处理顺序无关15.对一组数据(2,12,16,88,5,10)进行排序,若前三趟排序结果如下:第一趟排序结果:2,12,16,5,10,88 第二趟排序结果:2,12,5,10,16,88 第三趟排序结果:2,5,10,12,16,88 则采用的排序方法可能是()A.冒泡排序 B希尔排序 C归并排序 D基数排序16. C+是( )。A. 面向对象的程序

3、设计语言B. 面向过程的程序设计语言C. 既支持面向对象的程序设计又支持面向过程的程序设计的混合型语言D. 非结构化的程序设计语言17.面向对象程序设计思想的主要特征中不包括( )。A. 封装性 B. 多态性 C. 继承性 D. 功能分解,逐步求精18.若定义:string str; 当语句cinstr; 执行时,从键盘输入:Microsoft Visual Studio 6.0!所得的结果是str=( )。A. Microsoft Visual Studio 6.0! B. MicrosoftC. Microsoft Visual D. Microsoft Visual Studio 6.0

4、19.考虑下面的函数原型声明:void testDefaulParam(int a,int b=7,char z=*);下面函数调用中,不合法的是( )。A. testDefaulParam(5); B. testDefaulParam(5,8);C. testDefaulParam(5,# D. testDefaulParam(0,0,20.下列语句中,将函数int sum(int x, int y)正确重载的是( )。A. float sum(int x, int y); B. int sum(int a, int b);C. float sum(float x, float y); D.

5、 double sum(int y, int x);21.下列表示引用的方法中,( )是正确的。已知:int a=1000;A. int &x=a; B. char &y; C. int &z=1000; D. float &t=&a;22.在一个函数中,要求通过函数来实现一种不太复杂的功能,并且要求加快执行速度,选用( )。A. 内联函数 B. 重载函数 C. 递归调用 D. 嵌套调用23.下列有关C+类的说法中,不正确的是( )。A. 类是一种用户自定义的数据类型B. 只有类中的成员函数或类的友元函数才能存取类中的私有成员C. 在类中,如果不做特别说明,所有成员的访问权限均为私有的D. 在

6、类中,如果不做特别说明,所有成员的访问权限均为公用的24.已知X类,则当程序执行到语句:X array3;时,调用了( )次构造函数。A. 0 B. 1 C. 2 D. 325. 下面说法中,正确的是( )A. 一个类只能定义一个构造函数,但可以定义多个析构函数B. 一个类只能定义一个析构函数,但可以定义多个构造函数C. 构造函数与析构函数同名,只要名字前加了一个求反符号()D. 构造函数可以指定返回类型,而析构函数不能指定任何返回类型,即使是void类型也不可以26.已知:print( )函数是一个类的常成员函数,它无返回值,下列表示中,( )是正确的。 A. void print( ) c

7、onst; B. const void print( ); C. void const print( ); D. void print(const);27. 下面描述中,表达错误的是( ) A. 公用继承时基类中的public成员在派生类中仍是public的B. 公用继承时基类中的private成员在派生类中仍是private的C. 公用继承时基类中的protected成员在派生类中仍是protected的D. 私有继承时基类中的public成员在派生类中是private的28. 设置虚基类的目的是( )。A. 简化程序 B. 消除二义性 C. 提高运行效率 D. 减少目标代码29.下面( )

8、的叙述不符合赋值兼容规则。A. 派生类的对象可以赋值给基类的对象B. 基类的对象可以赋值给派生类的对象C. 派生类的对象可以初始化基类的对象D. 派生类的对象的地址可以赋值给指向基类的指针30. 关于虚函数的描述中,( )是正确的。 A. 虚函数是一个static类型的成员函数 B. 虚函数是一个非成员函数 C. 基类中说明了虚函数后,派生类中与其对应的函数可不必说明为虚函数 D. 派生类的虚函数与基类的虚函数具有不同的参数个数和类型二、填空题(前14个空,每空1分,后3个空,每空2分,共20分)1、类和对象的关系可表述为:类是对象的 ,而对象则是类的 。2、静态成员函数没有隐含的 ,所以,在

9、C+程序中,静态成员函数主要用来访问静态数据成员,而不访问非静态成员。3、在图1中,A,B,C,D,E,F均是类,其中属于单继承的派生类有 ,属于多继承的派生类有 ,类F的基类有 ,类A的派生类有 。4、如果只想保留公共基类的一个复制,就必须使用关键字 把这个公共基类声明为虚基类。5、从实现的角度来讲,多态性可以划分为两类: 和 。6、如果一个类包含一个或多个纯虚函数,则该类称为 。7、若要把void fun()定义为类A的友元函数,则应在类A的定义中加入语句 。8、列出C+中的两种代码复用方式:9、析构函数的作用是 10、假定A是一个类名,则该类的拷贝构造函数的原型说明语句为: 。11、后置

10、自增运算符“+”重载为类的成员函数(设类名为A)的形式为:三、阅读下面4个程序,写出程序运行时输出的结果(每题5分,共20分)1、#includeusing namespace std;void fun(int &a, int &b) int p; p=a; a=b; b=p;void exchange(int &b, int &c) if( ab ) fun(a, b); if( ac ) fun(a, c); if( bc ) fun(b, c);int main() int a=12,b=89,c=56; exchange(a, b, c); couta=a,b=b,c=cendl; r

11、eturn 0;2、#include class A public: A( ) cout A; ;class B B( ) cout B class C: public A C( ) cout Cprivate: B b;int main ( ) C obj;return 0;3、class Apublic:A()coutA:A() called.nvirtual A()coutA() called.nclass B: public AB(int i) coutB:B() called.n buf=new chari;virtual B() delete buf;B() called.ncha

12、r *buf; A *a=new B(15);delete a;4、 void f()coutCall As function f() class B void f() coutCall B void g() couts function g() public A, public B void g()coutCall C C cc; cc.B:f();g(); cc.g(); return 0;四、算法与程序设计题,共50分。1(10分)使用散列函数hash f(x)=x mod 11,把一个整数值转换成散列表下标,现要把数据:1,13,12,34,38,33,27,22插入到散列表中。(1)

13、使用链地址的冲突处理方法来构造散列表。(2)分别计算等概率情况下,查找成功和查找不成功所需的平均探查长度。(3)若查找关键字34,则需要依次与哪些关键字比较。2.(10分)已知有6个顶点(顶点编号为05)的有向带权图G,其邻接矩阵A为上三角矩阵,按行为主序(行优先)保存在如下的一维数组中。(1)写出图G的邻接矩阵A。(2)画出有向带权图G。(3)求图G的关键路径,并计算该关键路径的长度。3. (15分)设m+n个元素顺序存放在数组A1.m+n中,前m个元素递增有序,后n个元素递增有序,试设计一个在时间和空间两方面都尽可能高效的算法,使得整个顺序表递增有序,要求:(1)给出算法的基本设计思想。(2)根据设计思想,采用C或C+语言描述算法,关键之处给出注释。(3)说明你所设计算法的时间复杂度和空间复杂度。4. (15分)设有6个有序表A、B、C、D、E、F,分别含有10、35、40、50、60和200个数据元素,各表中元素按升序排列。要求通过5次两两合并,将6个表最终合并成1个升序表,并在最坏情况下比较的总次数达到最小。请问答下列问题。(1)给出完整的合并过程,并求出最坏情况下比较的总次数。(2)根据你的合并过程,描述N(N2)个不等长升序表的合并策略,并说明理由。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1