1、选择题程序员
1,如下JavaScript代码执行结果是()算法
var x=1;编程
(function(){数组
x=2;浏览器
y=2;安全
}){ }网络
alert(x==y);数据结构
A TRUEiphone
B FALSE
C 浏览器脚本错误
D NULL
2,如下关于TCP通讯中描述正确的是()
A Http协议是创建在TCP协议基础之上的应用层协议
B 当网络状态异常时,对TCP网络的影响是掉包率较高
C 当网络收到SYN Flood 攻击时,查看Server端口状态大量处于SYN_RECV状态
D TCP链接以CLOSE_WAIT状态结束
E TCP链接能够由Server端主动发起断开请求
3,如下关于链表的描述哪一个正确()
A 链表的元素在内存中是连续存放的
B 链表可用于实现栈、队列、字典等数据类型
C 链表中必定存在惟一一个没有前驱的元素,以及惟一一个没有后驱的元素
D 在链表中插入元素效率比数组低
数组和链表的区别
数组是将元素在内存中连续存放,因为每一个元素占用内存相同,能够经过下标迅速访问数组中任何元素。可是若是要在数组中增长一个元素,须要移动大量元素,在内存中空出一个元素的空间,而后将要增长的元素放在其中。一样的道理,若是想删除一个元素,一样须要移动大量元素去填掉被移动的元素。若是应用须要快速访问数据,不多或不插入和删除元素,就应该用数组。
链表刚好相反,链表中的元素在内存中不是顺序存储的,而是经过存在元素中的指针联系到一块儿。好比:上一个元素有个指针指到下一个元素,以此类推,直到最后一个元素。若是要访问链表中一个元素,须要从第一个元素开始,一直找到须要的元素位置。可是增长和删除一个元素对于链表数据结构就很是简单了,只要修改元素中的指针就能够了。若是应用须要常常插入和删除元素你就须要用链表数据结构了。
*C++语言中能够用数组处理一组数据类型相同的数据,但不容许动态定义数组的大小,即在使用数组以前必须肯定数组的大小。而在实际应用中,用户使用数组以前有时没法准确肯定数组的大小,只能将数组定义成足够大小,这样数组中有些空间可能不被使用,从而形成内存空间的浪费。链表是一种常见的数据组织形式,它采用动态分配内存的形式实现。须要时能够用new分配内存空间,不须要时用delete将已分配的空间释放,不会形成内存空间的浪费。
(1) 从逻辑结构角度来看
a, 数组必须事先定义固定的长度(元素个数),不能适应数据动态地增减的状况。当数据增长时,可能超出原先定义的元素个数;当数据减小时,形成内存浪费。
b,链表动态地进行存储分配,能够适应数据动态地增减的状况,且能够方便地插入、删除数据项。(数组中插入、删除数据项时,须要移动其它数据项)
(2)从内存存储角度来看
a,(静态)数组从栈中分配空间, 对于程序员方便快速,但自由度小。
b, 链表从堆中分配空间, 自由度大但申请管理比较麻烦.
4,请选择在附图上运行最短路径算法时,可能会依次添加到已选集合的边的顺序()
六、如下哪些对象是分配在栈上的()
A 函数内局部变量
B 函数内局部指针变量
C 函数内动态申请的对象
D 函数内指向动态申请的对象的局部指针变量
九、设栈S和队列Q的初始状态为空,元素a,b,c,d,e,f依次经过栈S,一个元素出栈后即进入队列Q,若出队列的顺序为b,d,c,f,e,a,则栈S的容量至少为多少?
A 2 B 3 C 4 D 5
10,设无向图G中的边的集合E={(a,b),(a,e),(a,c),(b,e),(e,d),(d,f),(f,c)},则从顶点出发进行深度优先遍历,能够获得的顶点序列有()
A aedfcb B acfebd C aebcfd D acdfbc
11,
13,QQ转台包括在线,离线,隐身,离开四种状态,假如QQ号码数为4.2亿,最少用多少内存标识全部用户状态?
A 约500M B 约1G C 约4G D 约16G
14,某系统采用36进制表示一个字符串,36个字符0-9a-z分别表示数字的0-35,则10进制数字873085表示字符串()
A imac B ipad C iphone D ipod
17,如下关于操做系统说法正确的是()
A 同一个线程内能够同时运行多个消息循环
B Windows中使用的临界区,不须要切换到内核态
C 互斥量能够用于多进程间对资源安全共享
D 信号量容许多个线程同时使用共享资源
19,如下排序算法,时间复杂度是O(nlog(n))且时间复杂度稳定的是()
A 冒泡排序 B 堆排序 C 归并排序 D 快速排序
21,通常认为,面向对象程序设计有SOLID五大原则,如下正确描述的()
22,
1 const char* s="hello tencent.\0"; 2 printf("%d,%d",int sizeof(s),int strlen(s));
在32位和64位系统下,以上代码的输出结果是()
A 4,16 B 4,14 C 8,16 D 8,14
24,
25,
26,如下这些树中,属于平衡二叉树的是()
A 红黑树 B 二叉查找树 C B+树 D 八叉树 E 彻底二叉树
28,
二,编程题
1,Heap和Stack的区别
2,
3,
4,