C++题目

字节数目
64位机器
bool: sizeof(1)
char: sizeof(1)
int: sizeof(4)
short: sizeof(2)
short int: sizeof(2)
long: sizeof(4)
long int: sizeof(4)
long long: sizeof(8)
float: sizeof(4)
double: sizeof(8)

1. 结构体的第一个成员永远放在结构体起始位置偏移量为0的地址处。
2. 第二个成员开始,总是放在偏移量为对齐数整数倍的地址处。
对齐数 == 编译器默认的对齐数 与 变量自身大小的较小值 (vs的默认值为8)
3. 结构体的总大小必须是各成员的对齐数中最大对齐数的整数倍。
  1. 将一个运算符重载为友元函数时,如果其参数表中只有一个参数,则说明该运算符是( )。

A、 后置一元运算符
B、 前置一元运算符
C、 其他选项都可能
D、 二元运算符

前置一元运算符
  1. 若用一个大小为8的数组来实现循环队列,且当前队尾Rear和队首Front的值分别为0和5,当从队列中删除一个元素,再加入三个元素后,Rear和Front的值分别为

出队时,front=(front+1)%MAXSIZE,rear不变,所以front=6
入队时,rear=(rear+1)%MAXSIZE,front不变,所以rear=3;

3和6

  1. KMP算法模式串”abababcbcabcadaba”的next数组为( )

  2. 关于解决NPC问题的方法有( )

A、 启发式算法得到的解可以保证解的好坏
B、 乱数算法在某些特定的情况下能够给快速求解
C、 启发式算法在很很多时候能给产生理性的解
D、 近似算法可以快速发现一定差距内的解

ACD

NPC问题及其解决方法(回溯法、动态规划、贪心法、深度优先遍历)

NP问题(Non-deterministic Polynomial ):多项式复杂程度的非确定性问题,这些问题无法根据公式直接地计算出来。比如,找大质数的问题(有没有一个公式,你一套公式,就可以一步步推算出来,下一个质数应该是多少呢?这样的公式是没有的);再比如,大的合数分解质因数的问题(有没有一个公式,把合数代进去,就直接可以算出,它的因子各自是多少?也没有这样的公式)。

NPC问题(Non-deterministic Polynomial complete):NP完全问题,可以这么认为,这种问题只有把解域里面的所有可能都穷举了之后才能得出答案,这样的问题是NP里面最难,但是这样算法的复杂程度,是指数关系。一般说来,如果要证明一个问题是NPC问题的话,可以拿已经是NPC问题的一个问题经过多项式时间的变化变成所需要证明的问题,那么所要证明的问题就是一个NPC问题了。NPC问题是一个问题族,如果里面任意一个问题有了多项式的解,即找到一个算法,那么所有的问题都可以有多项式的解。

著名的NPC问题:

背包问题(Knapsack problem):01背包是在M件物品取出若干件放在空间为W的背包里,每件物品的体积为W1,W2……Wn,与之相对应的价值为V1,V2……Vn。求出获得最大价值的方案。

旅行商问题(Traveling Saleman Problem,TSP),该问题是在寻求单一旅行者由起点出发,通过所有给定的需求点之后,最后再回到原点的最小路径成本。

哈密顿路径问题(Hamiltonian path problem)与哈密顿环路问题(Hamiltonian cycle problem)为旅行推销员问题的特殊案例。哈密顿图:由指定的起点前往指定的终点,途中经过所有其他节点且只经过一次。

欧拉回路(从图的某一个顶点出发,图中每条边走且仅走一次,最后回到出发点;如果这样的回路存在,则称之为欧拉回路。)与欧拉路径(从图的某一个顶点出发,图中每条边走且仅走一次,最后到达某一个点;如果这样的路径存在,则称之为欧拉路径。)

无向图欧拉回路存在条件:所有顶点的度数均为偶数。
无向图欧拉路径存在条件:至多有两个顶点的度数为奇数,其他顶点的度数均为偶数。
有向图欧拉回路存在条件:所有顶点的入度和出度相等。
有向图欧拉路径存在条件:至多有两个顶点的入度和出度绝对值差1(若有两个这样的顶点,则必须其中一个出度大于入度,另一个入度大于出度),其他顶点的入度与出度相等。

  1. Peterson算法

Peterson算法是一个实现互斥锁的并发程序设计算法,可以控制两个进程访问一个共享的单用户资源而不发生访问冲突。Gary L. Peterson于1981年提出此算法[1]

参考文献:

https://blog.51cto.com/danlove/2049403

360的抽奖 https://wtaufpziv.github.io/2020/03/24/360%E7%9A%84%E6%8A%BD%E5%A5%96/