涉及的知识点,我要查缺补漏一下呐。
- 已知后序遍历dabec中序遍历debac,求 叉树的先序遍历?
- 哈夫曼编码树15个顶点,问叶节点数?
- m8_三个字符 栈,全部出栈的序 能够 作C++标识符的有 个?
- 每次攻击随机造成5~25点伤害,问两次击倒35点 的概率是多少?
- obj1>obj2可以解释为下 哪些?A obj1. >obj2 B obj1.operator>(obj2) C obj2.operator<=(obj1) D operator>(obj1,obj2) E >(obj1,obj2)
- 类允许被继承,析构函数需要 virtual修饰。这个对么?
- 多线程中,栈和堆哪个公有哪个私有?
- DFS和BFS回溯时分别 啥数据结构和算法? 如递归,迭代,队 ,栈等等。
- 删除操作只会导致指向被删除元素及后 的迭代 失效的是:list queue vector map 这类(STL复习一下)
- listen socket 连接数受 么限制?是端 数 么?
- listen socket 调 accept函数后,才能开启三次握手?
- 下面写法判断对错?
char m[15] = "Hello";
char *p = "Hello";
char m[15],*p=m;p="Hello";// 对 char m[15]; char *p=m; p="Hello";
char m[15],*p;p=m="Hello";// char[15] is not assignable 害~数组名不能作左值啦
- 问输出结果
int n[][3] = {10,20,30,40,50,60};
int(p)[3];
p=n;
cout<<"p[0][0]"<<p[0][0]<<endl;
cout<<"p[0]+1"<<p[0]+1<<endl;
cout<<"(*p)[2]"<<(*p)[2]<<endl;
- 堆排序每个阶段和操作的时间复杂度好坏平均,空间复杂度
- 快排是原地置换?时间复杂度?
- 归并排序是原地置换?时间复杂度?
- 快排VS归并,他俩空间复杂度?都一样?
- 删掉xxx后,a=null,a会不会变成空悬指针,会不会造成内存泄漏?答:等同于问删除指针指向的变量或结构后,指针指向什么?删除以后,指针还是指向原来的地址,但是原来地址对应的空间已经被系统回收了,如果继续访问很可能会导致异常退出。 所以要求删除指针以后,需要将指针赋值为NULL,表示这个指针已经不指向任何有效内存。
- 【编程题】 从左到右(1~n号选手)从1开始报数,到最右边之后;再从左边1号开始报数。每次数到k的人淘汰,然后下一个人从1开始报数。 输入 n k,输出最后哪个选手是最后一个剩下的。如:4 2(n=4, k=2)输出1。
- 【编程题】 输入一个int array[] 数组,输入k,若k>=0则数组循环右移k位,若k<0则数组循环左移|k|位。请用时间复杂度O(n)空间复杂度O(1)的算法求出输出的数组。
还有两道编程题,但是没看。。