20道单选、10道多选
1、循环队列,判断队列满的条件
答案:循环队列中队满和队空的条件分别为:
● 队满的条件:(rear+1)%MaxSize=front(此时,循环队列中能装入的元素的个数为MaxSize)
● 队空的条件:rear=front
2、有序数组,所需要排序时间反而多的是
A 冒泡排序 B快速排序 C希尔排序 D堆排序
答案:归并不受数组顺序的影响选择B
3、多选 哪些算法是稳定的?
答案:选择排序、快速排序、希尔排序、堆排序不是稳定的排序算法,而冒泡排序、插入排序、归并排序和基数排序是稳定的排序算法。(一直记不住)
4、选择一数组中前100个最大的数,数组长度为10000最快的算法是
A冒泡排序B快速排序C堆排序D
答案:网上有说是堆排的,我不知道了
5、哈希表,二次哈希的概念
设哈希表长为14,哈希函数H(key)=key%11,表中已有数据的关键字为15,38,61,84,四个,现将关键字为49的结点加到表中,用二次探测再散列法解决冲突,则放入的位置是( )。
A.8 B.3 C.5 D.9
答案:9(网上百度的结果)
增量序列:1 -1 4 -4 ....k*k -k*k
6、以下关于内存泄漏说法正确的是____
A、内存泄漏是操作系统内存管理出错导致的问题
B、单线程程序不可能内存泄漏
C、如果一个进程在运行过程中占用的内存无限制上升,那么该进程有内存泄漏
D、只要进程在退出之前释放了所有分配的内存,那么就不会内存泄漏
E、内存泄漏是仅仅出现在C/C++程序的问题,Java程序不会内存泄漏
7、telnet是基于tcp协议、http基于udp协议的说法是错误的(原题问的是tcp udp)
答案:基于TCP协议的,如文件传输协议(File Transfer Protocol,FTP)、虚拟终端协议(TELNET)、超文本链接协议(Hyper Text Transfer Protocol,HTTP)
8、多线程中与线程同步有关系的是(ABCD)
A事件B信号量C互斥D临界区
9、静态数组从栈分配地址空间,链表从堆中分配内存空间,动态数组?
10、图、判断有向图有环、拓扑序列,总之考了许多图的题
11、#include<iostream>
using namespace std;
void main(){
unsigned int a=1;
unsigned int b=10;
int c=(a-b>0);
unsigned short int d=1;
unsigned short int e=10;
int f=(d-e>0);
cout<<c<<endl<<f<<endl;
cout<<(a-b)<<endl;
cout<<(d-e)<<endl;
}
答案:
最后两道附件题:
1一个数组,找出数组中没有出现的最小的一个数字,比如[1,2,0],返回3,[1,2,4,5]返回3
2void randomPlay(int array[],int N)循环播放歌曲列表,并打印出播放序列,每首歌只能播放一次
暂时只能回忆这么多了,大家谁有可以补充啊!