做题总结1

(1)

const出现在*左边,如const char* p,表示p所指向的变量内容不可变,指针指向可以改变;

const出现在*右边,如char* const p,表示p是个常量指针,即不能指向其他变量,而指向的变量内容可变;

const出现在*左边和右边,如const char* const p,表示p的指向不能改变,指向的变量内容也不能改变。

(2)

线性链表只要要求逻辑上是线性的就行了,至于物理存储位置可以不是线性

(3)

深拷贝是指源对象与拷贝对象互相独立,其中任何一个对象的改动都不会对另外一个对象造成影响。

浅拷贝是指源对象与拷贝对象共用一份实体,仅仅是引用的变量不同(名称不同)。对其中任何一个对象的改动都会影响另外一个对象。

(4)

1xx(临时响应)

2xx(成功)

3xx(已重定向)

    301 永久重定向

    302 临时重定向

4xx(请求错误)

    404 找不到网页

    403 已禁止

    401 未授权

    400 请求失败;服务器不理解请求语法

503:服务器目前不能为请求提供服务

(5)

线程共享的内容包括:

  1. 进程 代码段
  2. 进程 数据段
  3. 进程打开的文件描述符、
  4. 信号的处理器、
  5. 进程的当前目录和
  6. 进程用户 ID 与进程组 ID    

      线程独有的内容包括:

  1. 线程 ID
  2. 寄存器组的值
  3. 线程的堆栈
  4. 错误返回码
  5. 线程的信号屏蔽码

(6)java中,关于synchronized 关键字可以

可以修饰类的静态方法
可以修饰类的非静态方法
可以修饰某一段代码块

(7)

C/S传统程序架构,要有客户端和服务器端,典型的例子QQ就是基于C/S架构的,你本地只是一个客户端,而主程序运行在腾讯的服务器。

B/S架构就是给予浏览求的应用程序,网站就是很典型的代表,而通常所说的B/S架构则更是指的是基于网页的系统。通常的开发 Java,DotNet,PHP

(8)

在完全二叉树中假设度为0,1,2的节点个数分别为n0,n1,n2

n=n0+n1+n2

n0=n2+1

消去n2,得 n=2n0+n1-1

n1只能为0或者1

所以,n0=(n+1)/2或者n0=n/2

合并为n0=(n+1)/2取整

(8)master公式

T(N) = a*T(N/b) + O(N^d)

  1. log(b,a) > d -> 复杂度为O(N^log(b,a))
  2. log(b,a) = d -> 复杂度为O(N^d * logN)
  3. log(b,a) < d -> 复杂度为O(N^d)

(9)

类中的成员变量,存放在堆区

方法中的局部变量,存放在栈区

常量区放未经 new 的常量

你可能感兴趣的:(做题总结1)