专题路线

计算机科学基础

贯通程序设计、数据结构与算法复杂度,以及数据管线、实验设计与可复现计算的工程基础。

22 小时精选 18 个教材章节希望为科学计算、机器学习或研究软件开发打下可检查基础的学习者。
本地学习进度0/18 节完成
0%

进入路线前

本路线不要求额外的站内先修,可从第一个精选章节开始。

路线目标

  1. 01用类型、函数分解、数组计算与测试编写可复现的科学计算程序,并记录依赖、环境与随机种子。
  2. 02依据数据规模选择数据结构与算法,用渐近复杂度与正确性论证比较候选方案。
  3. 03设计可审计的数据管线与随机化实验,报告效应量与不确定度,并发布可复现制品。

分阶段学习顺序

路线按阶段连续组织正文;章节原有教材位置和书内顺序保持不变。

01

阶段 1

用类型、函数分解、数组计算与测试编写可复现的科学计算程序,并记录依赖、环境与随机种子。

  1. 01
    C00 · 编程与科学计算基础 · 第 1 章 · 第一编 程序与数据 · 难度 2

    程序、类型、控制流与函数

    程序、类型、控制流与函数:从表达式、变量和类型建立程序状态,使用分支、循环与函数分解问题,并通过前置条件、返回值和作用域说明计算契约。

    未开始
    阅读本章
  2. 02
    C00 · 编程与科学计算基础 · 第 2 章 · 第一编 程序与数据 · 难度 2

    集合数据、文件与错误处理

    集合数据、文件与错误处理:使用序列、映射和集合组织数据,设计文本与结构化文件读写流程,并用异常、资源清理和输入验证处理失败路径。

    未开始
    阅读本章
  3. 03
    C00 · 编程与科学计算基础 · 第 3 章 · 第二编 科学编程 · 难度 2

    数组、向量化与数值精度

    数组、向量化与数值精度:用形状、轴、广播和切片表示批量数值计算,比较向量化与循环的语义及成本,并识别浮点表示、溢出和舍入误差。

    未开始
    阅读本章
  4. 04
    C00 · 编程与科学计算基础 · 第 4 章 · 第二编 科学编程 · 难度 2

    数据可视化与计算实验

    数据可视化与计算实验围绕问题、变量和假设设计可复算流程,选择与数据类型匹配的图形编码,并保存原始数据、参数、随机种子和分析产物。

    未开始
    阅读本章
  5. 05
    C00 · 编程与科学计算基础 · 第 5 章 · 第三编 工程基础与综合复习 · 难度 2

    测试、版本控制与环境管理

    测试、版本控制与环境管理:用单元测试、性质检查和回归样例验证程序,使用版本控制组织可审查变更,并锁定依赖、运行命令和环境以支持复现。

    未开始
    阅读本章
  6. 06
    C00 · 编程与科学计算基础 · 第 6 章 · 第三编 工程基础与综合复习 · 难度 2

    编程与科学计算综合项目

    编程与科学计算综合项目从明确问题和输入契约开始,联合程序分解、数据结构、数组计算、可视化、异常处理、测试和版本记录交付可复算成果。

    未开始
    阅读本章
02

阶段 2

依据数据规模选择数据结构与算法,用渐近复杂度与正确性论证比较候选方案。

  1. 07
    C01 · 数据结构、算法与复杂度 · 第 1 章 · 第一编 数据结构 · 难度 3

    序列、栈、队列、树与堆

    序列、栈、队列、树与堆:以抽象数据类型和不变量比较数组、链表、栈、队列、搜索树及堆,分析基本操作的正确性、时间复杂度和存储代价。

    未开始
    阅读本章
  2. 08
    C01 · 数据结构、算法与复杂度 · 第 2 章 · 第一编 数据结构 · 难度 3

    哈希表、图与并查集

    哈希表、图与并查集:用散列函数与冲突策略实现字典,以邻接结构表示图,并通过并查集和摊还分析支持动态连通性。

    未开始
    阅读本章
  3. 09
    C01 · 数据结构、算法与复杂度 · 第 3 章 · 第二编 算法设计 · 难度 3

    分治、贪心与排序

    分治、贪心与排序从子问题结构建立递推和合并步骤,证明比较排序的复杂度,并用交换论证或切分性质验证贪心选择。

    未开始
    阅读本章
  4. 10
    C01 · 数据结构、算法与复杂度 · 第 4 章 · 第二编 算法设计 · 难度 3

    动态规划与图算法

    动态规划与图算法:通过状态、转移和最优子结构构造动态规划,使用遍历、最短路和最小生成树算法处理图问题并证明正确性。

    未开始
    阅读本章
  5. 11
    C01 · 数据结构、算法与复杂度 · 第 5 章 · 第三编 复杂度与综合复习 · 难度 3

    渐近复杂度、归约与可计算性

    渐近复杂度、归约与可计算性:用渐近上界、下界和摊还成本比较算法,通过多项式时间归约理解困难性,并由停机问题说明可计算性的根本边界。

    未开始
    阅读本章
  6. 12
    C01 · 数据结构、算法与复杂度 · 第 6 章 · 第三编 复杂度与综合复习 · 难度 3

    数据结构与算法综合复习

    数据结构与算法综合复习围绕问题建模、不变量、正确性和复杂度选择方法,比较分治、贪心、动态规划与图算法的适用条件。

    未开始
    阅读本章
03

阶段 3

设计可审计的数据管线与随机化实验,报告效应量与不确定度,并发布可复现制品。

  1. 13
    C02 · 数据处理、实验设计与可复现计算 · 第 1 章 · 第一编 数据管线 · 难度 3

    数据质量、清理与模式验证

    数据质量、清理与模式验证从研究问题定义质量规则,检查类型、范围、唯一性、缺失和重复,保留原始值与清理决策并避免把异常机械删除。

    未开始
    阅读本章
  2. 14
    C02 · 数据处理、实验设计与可复现计算 · 第 2 章 · 第一编 数据管线 · 难度 3

    数据变换、血缘与版本

    数据变换、血缘与版本:把筛选、连接、聚合和派生变量组织为可重复管线,记录输入版本、模式、变换参数和血缘以支持回溯与重算。

    未开始
    阅读本章
  3. 15
    C02 · 数据处理、实验设计与可复现计算 · 第 3 章 · 第二编 实验设计 · 难度 3

    对照、随机化与功效分析

    对照、随机化与功效分析由研究问题和处理单元出发,设计随机分配、阻断与盲法,并使用效应量、方差、显著性水平和功效规划样本量。

    未开始
    阅读本章
  4. 16
    C02 · 数据处理、实验设计与可复现计算 · 第 4 章 · 第二编 实验设计 · 难度 3

    指标、统计比较与多重检验

    指标、统计比较与多重检验:预先定义主指标和比较单位,选择与设计匹配的区间和检验,报告效应量与不确定度并控制重复比较带来的错误率。

    未开始
    阅读本章
  5. 17
    C02 · 数据处理、实验设计与可复现计算 · 第 5 章 · 第三编 可复现工作流与综合复习 · 难度 3

    实验追踪、环境封装与制品

    实验追踪、环境封装与制品:把代码、配置、数据版本、随机种子、运行环境、指标和产物绑定为可查询记录,以清单、校验和与复现命令封装制品。

    未开始
    阅读本章
  6. 18
    C02 · 数据处理、实验设计与可复现计算 · 第 6 章 · 第三编 可复现工作流与综合复习 · 难度 3

    数据处理与实验设计综合复习

    数据处理与实验设计综合复习围绕一个可审计研究问题,串联质量检查、变换血缘、随机化设计、统计比较、实验追踪和制品发布,并区分探索与确认。

    未开始
    阅读本章

路线检查点

完成指定教材章节后,用自己的推导回答;检查点不替代正文证明。

  1. 完成 C00 · 编程与科学计算综合项目

    对一个数值脚本,说明如何用单元测试、性质测试和固定随机种子保证结果可复现,并列出必须记录的依赖与环境信息。

  2. 完成 C02 · 数据处理与实验设计综合复习

    为一个算法对比实验设计随机化方案与主指标,说明多重比较带来的错误率风险,以及制品发布应包含哪些版本与校验信息。

路线综合练习

先独立作答,再展开提示与分步解答;每题附可重复的结果核验。

练习完成进度0/2

难度 3/5

排序算法的渐近复杂度与常数因子

对随机排列的 n 个元素,比较归并排序与插入排序的比较次数量级;当 n=10⁶ 时估算两者基本操作次数的比值,并说明常数因子在何种情形下会让插入排序更快。

查看提示

归并排序比较次数约 n log₂ n,插入排序最坏与平均均为 Θ(n²);小 n 或近乎有序输入时常数项主导。

展开分步解答

归并排序约 n log₂ n 次比较,n=10⁶ 时约 2×10⁷;插入排序平均约 n²/4=2.5×10¹¹,两者相差约 10⁴ 量级。插入排序常数小、额外空间为 O(1),且对近乎有序数据为 O(n),故当 n 很小(经验上数十个元素)或输入几乎有序时反而更快,这也是混合排序在小分段切换到插入排序的原因。

结果核验用递推 T(n)=2T(n/2)+n 展开归并排序恰得 n log₂ n;对 n=64 的小输入实测两种实现的比较计数,可复现插入排序的常数优势,与渐近分析互补。

难度 3/5

哈希表装载因子与期望探测长度

开放寻址哈希表容量 m=1024,已存入 n=768 个键。计算装载因子 α,并用均匀散列假设下不成功查找的期望探测数 1/(1-α) 估计探测次数,说明 α 接近 1 时性能为何急剧恶化。

查看提示

α=n/m;均匀散列下每次探测命中空闲槽的概率为 1-α,期望探测数为其倒数。

展开分步解答

α=768/1024=0.75,期望探测数 1/(1-α)=4 次。当 α→1 时空闲槽比例趋于零,聚集效应使连续被占区间越来越长,期望探测数发散,因此实现通常设定装载因子上限(如 0.7),超过即扩容并重新散列。

结果核验α=0.5 时公式给 2 次、α=0.9 时给 10 次,单调性与直觉一致;用随机键模拟插入并统计平均探测长度,可与 1/(1-α) 曲线逐点对比核对。