牛客选择题刷题

1.深度优先搜索拓扑排序算法可以判断出一个有向图中是否有环

2.对于长度为n的有序线性表,在最坏情况下,二分法查找只需要比较log2n次,而顺序查找需要比较n次

3.sizeof和strlen区别:   sizeof是算符,strlen是函数

  char  str[20]="0123456789";  int a=strlen(str)=10  int b=sizeof(str)=20

  char* ss = "0123456789";  sizeof(ss)=4 获得的是指针所占空间

  sizeof(*ss)=1 *ss为第一个字符是char 占1位

  strlen(ss)=10获得该字符串的长度

4.软件工程的三要素:方法(开发方法)、工具(支持方法的工具)、过程(管理过程)。

5.KMP算法 (字符串匹配算法)

最好情况:每趟匹配不成功都是在第一个字符,即每趟都只需匹配一次就知道该趟是否匹配。O(m+n)
最坏情况:每趟匹配不成功都是在最后一个字符。时间复杂度O(m*n)

 6.对派生类来说,基类的保护成员也是派生类的保护成员,但派生类成员不能直接访问基类的私有成员

  7.

void f(int *p,int *q)
{
    p++;
    *q=*q+1;
}
int m=1,n=2,*r=&m;
    f(r,&n);
在函数体中,将指针p加1,即p指向m的下一个地址,函数调用结束后该指针立即被释放,m地址不变 则m=1(对指针的改变 对数值无影响)
在函数体中,将指针q所指内容加1,即n+1,这样就间接通过q改变了n的值 则n=3
8.
静态成员函数属于整个类所拥有,没有this指针
友员函数不是这个类的成员,没有this指针
类的非静态成员函数  有this指针
9.算法的基本特征:有穷性,输入,输出,确切性,可行性
10.各种排序比较
 
稳定的排序有基数排序,桶排序(分配式排序),直接插入排序,冒泡排序,归并排序
 11.URL资源定位符:前部分为协议,后部分为服务器名称或IP
12.SNMP(简单网络管理协议)基于传输层UDP用户数据报协议,在管理者和被管理设备(确切的说是agent)之前传递信息。
通过 SNMP 接收随机消息(及事件报告)网络管理系统获知网络出现问题。
SNMP管理包括下面三个部分:
(1).MIB管理信息库
(2).SMI管理信息的结构和标识(也称管理信息接口SMI)
(3).SNMP简单网络管理协议
13.DHCP 有 8 种消息类型,分别是 Discover、Request、Release、Inform、Decline、Offer、ACK、NAK。
其中前 5 种可由主机发起,后 3 种只能是 DHCP 服务端向主机发送
14.一次成功的测试指的是运行后发现了程序错误
15.Visitor访问者模式: 表示作用于某对象结构中的各元素的操作,它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作
   抽象工厂模式:提供一个创建一系列相关或相互依赖对象的接口,而无需指定他们具体的类
 工厂方法模式:定义一个用于创建对象的接口,让子类决定实例化哪一个类,该模式使一个类的实例化延迟到其子类
策略模式:定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换,本模式使得算法可独立于使用它的客户而变化

16.  加解密: 加密使用公钥,解密使用私钥 签名: 使用私钥进行加密,使用公钥进行解密

17.  AVL树:平衡二叉树,一般是用平衡因子差值决定并通过旋转来实现,左右子树高度差不超过1,只要插入或者删除不满足上述条件就要通过旋转(很耗时)保持平衡(适合用于插入删除次数较少,查找多的情况)    

       红黑树:平衡二叉树,通过 对任何一条从根到叶子的简单路径上的各个节点的颜色进行约束,确保没有一条路径比其他路径长2倍 ,近似平衡的,用于搜索时插入和删除次数多的情况

      B树,B+树:是多路查找树,一般用于数据库系统中,B+树是B树的变种树,只在leaf node存储数据,有n颗子树的节点含有N个关键字,每个关键字不保存数据,只用来索引,数据都保存在叶子节点,是为文件系统而生

        Trie树:单词查找树,一种树形结构,用来操作字符串.他是不同字符串的相同前缀只保存一份.节省时间,但保存字符时会耗内存(空间换时间)

        

18.栈:由系统自动分配释放,局部变量

    堆:动态分配,一般由程序员分配释放,

    静态分配区:在编译时就已经分配好了,运行期间一直存在,全局变量,常量

19.x86 CPU在实模式下解释代码时看到一个地址为2330H:5041H,则内存中要找的地址为23300+5041(cs偏移4位/16进制偏移1位+ip)

20.linux系统调用是指用户进程调用内核总能的接口

    linux文件权限分为四段:文件类型,拥有者具有可读可写可执行的权限,所属于这个组的成员对于这个文件具有,可读可写可执行的权限 ,其他人对于这个文件无权限

21.IP协议属于网络层,交换机属于数据链路层

22.节点总数=度数+1;

23.特权指令指的是操作系统或其他系统软件的指令,不提供给用户使用;

     用户切换到内核态三种方式:系统调用   异常  外围设备中断

24.计算机网络是一种松耦合系统,分布式是紧耦合系统 是透明的

25.磁盘设备的I/O控制主要采取DMA方式

26.MTU(最大传输单元):链路层中网络对数据帧的限制,若大于MTU则分片传输

27.管态又叫特权态/核心态,当CPU处理程序的时候,CPU转为管态,可执行计算机系统全部指令

 28.DNS服务器之间传输时使用TCP,而客户端与DNS服务器之间传输时用UDP

 29. int (*ptr)[]是指一个指向整形数组的指针,int*ptr[]是指针数组

30.A类 0-127 B类 128-191 C类 192-223

31.对于二叉树n0=n2+1(n0为叶子树,n2为度为2的数目)

32.数据库的完整性是指数据的正确性和相容性

33.集线器和转发器处于物理层;网桥/桥接器/交换机处于数据链路层;路由器处于网络层;网关处于网络层以上

34.客户服务器方式在应用层协议(FTP);

35.数据库使用ER图

36.二叉树度为2表示一个节点有两个孩子,二叉树可能度有1 2 0

37.信道复用技术有: 时分复用TDM,频分复用FDM,波分复用WDM,码分复用CDM

38.在linux中,对于多进程,子进程继承父进程的共享内存,信号掩码,已打开的文件描述符

39.文件系统管理的最小磁盘空间是族

40.DNS作用是域名和IP地址的相互映射,DNS协议主要运行在UDP协议上,端口号为53

41.多台是通过虚表实现的,构造函数不能申明为虚函数,析构函数需要申明为虚函数,抽象类中至少含有一个纯虚函数

42.

 

posted on 2017-07-14 11:14  zhaodun  阅读(242)  评论(0编辑  收藏  举报

导航