跳转至

2024

常微分方程

高等数学之常微分方程。包括一阶微分方程(可分离变量的方程、齐次方程、线性方程、伯努利方程、全微分方程)、可降阶的高阶微分方程、二阶线性微分方程(常系数线性齐次和非齐次微分方程)、欧拉方程。主要探讨这些方程的求解法。

省流:

微分方程 通解/换元法
\(y' + p(x) y = 0\) \(\displaystyle y = Ce^{-\int p(x) dx}\)
\(y' + p(x) y = q (x)\) \(\displaystyle y = \left[\int q(x)e^{\int p(x) dx}dx + C \right] e^{-\int p(x) dx}\)
全微分方程 \(\displaystyle \int_{(0, 0)}^{(x, y)} P dx + Q dy = C\)
\(y'' + b y' + c = 0\) 特征方程 \(\lambda^2 + b\lambda + c = 0\)
\(k\) 重实数根 \(\lambda_i\) 对应分量 \(C x^{k-1} e^{\lambda_i}\)
共轭复根\(\lambda = a\pm bi\) 对应分量 \(e^{ax}\big(C_1 \sin bx + C_2 \cos bx\big)\)
通解为所有分量之和
\(y'' + by' + c = P_m(x)\cdot e^{\lambda x}\) 非齐次方程的一个特解为 \(\tilde{y} = Q_m(x) x^k e^{\lambda x}\)
\(\lambda\) 为特征方程的 \(k\) 重根,\(P_m(x), Q_m(x)\) 为不超过 \(m\) 次的多项式
\(y'' + py' + qy = e^{\alpha x}[P_c(x) \cos \beta x + P_s(x) \sin \beta x]\) \(\tilde{y} = x^{k} e^{\alpha x}[R_{m,1}(x)\cos \beta x + R_{m,2}(x)\sin \beta x]\)
\(\alpha \pm \beta i\) 是特征方程的根时 \(k = 1\);否则 \(k = 0\)
\(y'' = f(x, y')\) \(p = y'\),求解关于 \(p, x\) 的微分方程
\(y'' = f(y', y)\) \(p = y'\)\(\displaystyle y'' = p\frac{dp}{dy}\),求解关于 \(p, y\) 的微分方程

中间代码生成

中间代码生成

中间代码/中间表示 (Intermediate Representation, IR)

AST -> IR1 -> IR2 -> ... -> IRk -> asm

IR 是一种抽象的机器语言、旨在表达目标机器的操作而不涉及过多与指令集有关的细节。相比于直接生成目标架构的汇编语言代码,将源代码首先转为 IR 能够有效地提高编译器的模块化以及可移植性(考虑需要将高级语言转为不同目标架构的汇编语言)。

玩图寻

能够在图寻游戏中使用到的地理知识和技巧。有助于在全球积分赛中浑水摸鱼,恰到烂分。

活动记录

冯诺依曼架构中的编译器需要将所有的 CODE 转换为汇编指令,并为 DATA 分配空间。活动记录是通过编译器实现的,使得程序在运行时,存储或传递:函数或过程的局部变量、返回地址、参数等信息的数据结构,一般是栈帧。

语义分析

符合语法的程序不一定有有意义或是程序员期望的语义。

狭义上的语义分析是编译器前端的最后一部分,手段是对 AST 做一些分析和变换,目的是确定程序的某些静态属性,例如变量的声明与作用域、变量与表达式的类型、函数调用是否符合定义等等。最后,语义分析将把 AST 转换为某种中间表示(IR)。

一元函数的反常积分

高等数学之一元函数的反常积分。包括无穷区间上的反常积分、无界函数的反常积分、反常积分的敛散性判别法、Gamma 函数。

语法分析:自底向上方法

语法分析器从词法分析器获得 Token 序列,确认该序列是否可以由语言的文法生成,然后: - 对于语法错误的程序,报告错误信息 - 对于语法正确的程序,生成语法分析树,例如抽象语法树(Abstract Syntax Tree, AST)

自底向上指的是,从输入的串出发,尝试将其归约到文法开始符号。以分析树(Parse Tree)的角度来看,自底向上方法从所有叶节点尝试构建出分析树。

语法分析:自顶向下方法

语法分析器从词法分析器获得 Token 序列,确认该序列是否可以由语言的文法生成,然后: - 对于语法错误的程序,报告错误信息 - 对于语法正确的程序,生成语法分析树,例如抽象语法树(Abstract Syntax Tree, AST)

自顶向下指的是,从文法的开始符号出发,尝试推导出输入的串。以分析树(Parse Tree)的角度来看,自顶向下方法从根节点出发,构建分析树。

一元函数的不定积分

高等数学之一元函数的不定积分。包括不定积分的定义、原函数的存在性、基本运算法则、常见类型的不定积分计算方法。