广联达笔试题汇总
1. 代码输出结果为?
#include<iostream>
using namespace std;
class A {
public:
virtual void f() { cout << "/"; }
};
class B :public A {
public:
virtual void f() { cout << "#"; }
};
void fun1() { A *p = new B; p->f(); }
void fun2() { A a, &p=a; p.f(); }
void fun3() { B b;A p=b; p.f(); }
int main() {
fun1();
fun2();
fun3();
return 0;
}
#//
2. 代码输出结果为?
#include<iostream>
using namespace std;
class B {
public:
B(int xx = 1) :x(xx) { x += 1; };
virtual void show() { cout << x << endl; }
private:
int x;
};
class D :public B {
public:
D(int xx = 1, int yy = 2) :B(xx), y(yy) { y += 2; }
void show() { cout << y << endl; }
private:
int y;
};
int main() {
B ob1, &ob2 = ob1;
ob1.show();
return 0;
}
2
3. 能采用贪心算法求最优解的问题,一般具有的重要性质为:
①贪心选择性质:进行选择时,直接做出在当前问题中看来最优的选择,而不必考虑子问题的解;
②最优子结构:如果一个问题的最优解包含其子问题的最优解,则称此问题具有最优子结构性质
4. 代码输出结果为4,5,6,横线处应该填什么?
#include<iostream>
using namespace std;
class A {
int a1;
public:
A(int x, int y) :a1(x),a2(y){}
void show1() { cout << a1 << " " << a2 << endl; }
protected:
int a2;
};
class B :public A {
int b1;
protected:
int b2;
public:
B(int x,int y,int z,int k):_______,b1(z),b2(k){}
void show2() { cout << a2<<" "<<b1<<" "<<b2 << endl; }
};
int main() {
B ob2(3,4,5,6);
ob2.show2();
system("pause");
return 0;
}
A(x,y)
5. 计算机操作系统中,若WAIT、SIGNAL操作的信号量S初值为3,当前值为-2,则表示当前有( )个等待信号量S的进程。
2
若信号量为正则表示资源数,若为负则其绝对值表示等待的进程数。
初值为3,表示初始时有3个可用的资源。现在为-2,说明这3个可用资源已经被占用了,而且有2个进程在等待资源
6. NP(Nondeterministic Polynomially,非确定性多项式)类问题是指一个复杂问题不能确定是否在多项式时间内找到答案,但是可以在多项式时间内验证答案是否正确。
7. 解决死锁的4种基本方法:
1、预防死锁:通过设置一些限制条件,去破坏产生死锁的必要条件
2、检测与拆除死锁:这种方式使允许死锁发生,检测死锁产生,然后解除死锁;
检测的具体实施可以维护两个资源矩阵,对可用资源和需要资源进行比较;
解除死锁的方式主要可以实施抢占剥夺;kill掉进程;回滚系统等;
3、动态避免:在资源分配过程中,确保资源请求批准后系统不会进入死锁或潜在的死锁状态。如银行家算法。
8.
邻接表,存储方法跟树的孩子链表示法相类似,是一种顺序分配和链式分配相结合的存储结构。如这个表头结点所对应的顶点存在相邻顶点,则把相邻顶点依次存放于表头结点所指向的单向链表中。
9.
当程序从编辑完成到执行成功都会经过5个步骤,分别是预处理(Prepressing)、编译(Compilation)、汇编(Assembly)、链接(Linking)和执行(Executing)。
10. 贪心算法和动态规划区别
-
贪心算法
基本思想:贪心算法并不从整体最优上加以考虑,它所做的选择只是在某种意义上的局部最优解。
基本要素:最优子结构性质和贪心选择性质。
最优子结构性质
问题的整体最优解中包含子问题的最优解
贪心选择性质
l 整体的最优解可通过一系列局部最优解达到
l 每次的选择可依赖以前作出的选择,但不依赖后续选择
-
动态规划
基本思想:将待求解的问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解。
基本要素:最优子结构性质和重叠子问题性质
-
贪心算法与动态规划的区别
共同点:两者都具有最优子结构性质
不同点:1) 动态规划算法中,每步所做的选择往往依赖于相关子问题的解,因而只有在解出相关子问题时才能做出选择。而贪心算法,仅在当前状态下做出最好选择,即局部最优选择,然后再去解做出这个选择后产生的相应的子问题。
2) 动态规划算法通常以自底向上的方式解各子问题,而贪心算法则通常自顶向下的方式进行。
3)贪心算法:全局最优解由局部最优解构成,下一步的局部最优解仅由上一步的局部最优解推导出,也就是说每次仅保留上一步的最优解。
动态规划:全局最优解肯定包含局部最优解,但下一步的局部最优解,不一定由上一步的局部最优解推导出,因此需要保留之前所有的最优解。
11. B/S模型中标准协议是http,http协议特点()
支持客户/服务器模式;
简单快速;
灵活;
无连接;
无状态。
HTTP是无连接:限制每次连接只处理一个请求,服务器处理完客户的请求 ,并接收到客户的应答后即断开连接,采用这种方式可以节省传输时间。
HTTP是媒体独立的:意味着只要客户端和服务器知道如何处理的数据内容,任何类型的数据都可以通过HTTP发送。客户端以及服务器指定使用适合的MIME-type内容类型。
HTTP是无状态的:HTTP协议是无状态协议。意指协议对事物处理没有记忆能力。如果后续处理需要前面的信息则他必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时,它的应答就比较快。
12.
主键索引:它是一种特殊的唯一索引,不允许有空值。一般是在建表的时候指定了主键,就会创建主键索引, CREATE INDEX不能用来创建主键索引,使用 ALTER TABLE来代替。
唯一索引:与普通索引类似,不同的就是:索引列的值必须唯一,但允许有空值。如果是组合索引,则列值的组合必须一。
上一篇: php 数组合并
下一篇: python笔试题汇总