& 取地址;* 解引用。 new / delete 分配/释放;忘记释放导致内存泄漏,重复释放为野指针。
// 指针int *p = new int;
*p = 42;
delete p; // 之后 p 为野指针
int *q = new int[10];
delete[] q;
[!]易错点:*p++ 先取值再地址自增;(*p)++ 先自增所指对象;数组名 = 常量首地址。
[?]【练习】关于指针,说法正确的是( )。 A. & 是解引用,* 是取地址 B. 指针变量可指向任何类型 C. new 申请的内存必须用 delete 释放 D. 数组名等价于动态分配的指针
答案:C & 取地址、* 解引用;B 指针类型须匹配;D 数组名是常量地址。
[★]S 组必背:“进程线程、死锁四条件;指针 & 和 *,new 配 delete。”
时间复杂度分析(Big-Oh/调和级数)
知识页 12
时间复杂度分析 J/S共有
加减乘除、赋值等单条语句基本可看作单次运算。
估计算法运算量(时间复杂度)用 大 O 记号:找到执行次数最多的步骤,只保留最高阶项、去掉常系数。当输入规模用多个变量表示时,大 O 里可有多项,如 O(n+q)、O(nm)。当运算量与 n 无关记作 O(1);大 O 里对数 log_b(a) 当 b 是常数时一般省略。
// 复杂度for (int i = 1; i <= n; ++i) b[a[i]]++; // O(n)
for (int i = 1; i <= n; ++i)
for (int j = i; j <= n; ++j) swap(a[i], a[j]);
// n + (n-1) + ... + 1 = 1/2 (n^2 + n) 次 -> O(n^2)
// 常数 1/2 与低阶项 n 被略去,因为 n^2 主导趋势
1. 第一台具有存储功能的计算机是( )。 A. ENIAC B. 天河二号 C. EDSAC D. Colossus 2. 下列属于编译型语言的是( )。 A. Python B. PHP C. Java D. C++ 3. 下列说法正确的是( )。 A. CPU 常带图形加速功能,故称图形加速器 B. 输出设备实现了与外部交互 C. 内存被简称为 RAM,硬盘被简称为 ROM D. 三级存储为高速缓冲、主存储、辅存储
[?]【4】在字长为 64 的情况下,1T1B 等于( )个字。 A. 2^34 B. 2^37 C. 2^40 D. 2^43
[?]【8】下列哪个功能与面向对象语言特性有关?( ) A. 自行编写 sort 比较函数实现排序 B. 光线追踪中定义“几何体”类与“圆柱、圆锥”等派生类,统一接口 C. 接操作系统 IO 设定,自行编写函数向屏幕打印 D. 为适应不同数据,手动编写针对 long long、char、float 的 max 函数
答案:B 继承/多态是面向对象特性;A、C、D 均属过程式/重载思路。
[?]【9】关于图灵奖的说法,正确的是( )。 (1) 其名称取自计算机科学先驱、英国科学家艾伦·麦席森·图灵;(2) 图灵奖是由 IEEE 设立的;(3) 目前获该奖的华人学者只有姚期智教授一人;(4) 它是计算机界最负盛名、最崇高的奖项,有“计算机界的诺贝尔奖”之称。 A. (1)(2)(3) B. (1)(2)(4) C. (1)(3)(4) D. (2)(3)(4)
答案:C 图灵奖由 ACM 设立,不是 IEEE,故(2)错;其余正确。
[?]【10】下面有关 NOI 系列比赛的说法,正确的是( )。 A. NOIP 的中文含义是全国青少年信息学奥林匹克竞赛 B. NOIP 自 2019 年开始举办,是参加 CSP-J/S 的先决条件 C. CSP-J/S 初赛满分 100 分,时长 4 小时 D. NOI 2024 是第 41 届 NOI 竞赛,IOI 2024 是第 36 届 IOI 竞赛