Archives
All the articles I've archived.
你需要一个更好的终端
今天无意之间想起,自己至今没有配置过一个既好用又漂亮的终端,于是就动手配置了一下。这篇博客会详细记载我如何配置的过程。
如何理解实变函数的上下极限?
通过小恐龙跳台阶的例子,直观理解实数数列与集列的上极限、下极限:它们分别描述反复出现与最终恒定出现的值或元素,并给出尾部上确界、下确界和集合运算的严格定义。
为什么char *argv[]表示字符串?
解释`char *argv[]表示字符串的原理`
CMake 入门
从一个最小的 C++ 项目出发,理解 CMake 如何描述目标、生成构建系统并组织工程。
Dijkstra’s algorithm
从贪心选择到代码实现,理解 Dijkstra 算法为何正确,以及它为何要求边权非负。
Machine Learning:Tensor For Beginners
从数据形状、矩阵梯度到雅可比矩阵,理解机器学习中的张量求导、输出轴与输入轴,以及反向传播的核心思路。
How Google Ranks the Web
An intuitive guide to PageRank: how random walks, link structure, and the damping factor help Google rank pages across the web.
Chasing the Golden Snitch
In the world of Quidditch, catching the Golden Snitch is not just a matter of speed. By viewing it as a moving target in an uncertain environment, we explore how search algorithms, Bayesian inference, and particle filters help a seeker locate what cannot be directly observed.
Implementing a Skip List from Scratch
A step-by-step guide to implementing a Skip List in modern C++, covering its layered structure, randomized levels, and the search, insertion, and deletion operations.
Monty Hall problem
A deep dive into the Monty Hall Problem. This article explains the famous probability puzzle using both intuitive case analysis and Bayes' theorem, showing why switching doors gives a 2/3 chance of winning and why human intuition often fails in probabilistic reasoning.
从计算图理解反向传播
An intuitive introduction to backpropagation through computational graphs, explaining how chain rule and dynamic programming make efficient gradient computation possible.