基础知识
🗂️ 内容导航
| 名称 | 说明 | 链接 |
|---|
| 计算基础 | 算法、编程语言与计算理论 | 进入 |
| 数学基础 | AI的”数学魔法”——链接到自然科学/数学 | 进入 |
| 软件工程 | 软件开发全流程、架构设计与工程化实践 | 进入 |
核心观点:扎实的基础知识是学习AI-IT的前提,包括数学、编程、数据结构等核心内容。
📊 基础知识体系
graph TB
subgraph 数学基础
M1["线性代数<br/>矩阵运算"]
M2["概率论<br/>随机现象"]
M3["微积分<br/>变化率"]
M4["优化理论<br/>最优化"]
end
subgraph 编程基础
P1["编程语言<br/>Python/Java"]
P2["算法实现<br/>代码能力"]
P3["调试测试<br/>质量保证"]
end
subgraph 数据结构
D1["线性结构<br/>数组/链表"]
D2["非线性结构<br/>树/图"]
D3["高级结构<br/>堆/哈希"]
end
M1 & M2 & M3 & M4 --> P1 & P2 & P3
P1 & P2 & P3 --> D1 & D2 & D3
style M1 fill:#ffebee
style P1 fill:#e3f2fd
style D1 fill:#e8f5e9
📐 数学基础
线性代数
| 概念 | 内涵 | 应用 |
|---|
| 向量 | 一维数组 | 特征表示 |
| 矩阵 | 二维数组 | 数据存储 |
| 矩阵乘法 | 线性变换 | 神经网络 |
| 特征值分解 | 矩阵分析 | 降维 |
| 奇异值分解 | 矩阵分解 | 推荐系统 |
概率论
graph TB
subgraph 基本概念
A1["随机变量<br/>概率分布"]
A2["期望方差<br/>数字特征"]
A3["条件概率<br/>贝叶斯定理"]
end
subgraph 常见分布
B1["正态分布<br/>连续分布"]
B2["伯努利分布<br/>离散分布"]
B3["泊松分布<br/>计数分布"]
end
A1 & A2 & A3 --> B1 & B2 & B3
style A1 fill:#ffebee
style B1 fill:#e3f2fd
微积分
| 概念 | 内涵 | 应用 |
|---|
| 导数 | 变化率 | 梯度下降 |
| 偏导数 | 多元函数导数 | 多参数优化 |
| 链式法则 | 复合函数求导 | 反向传播 |
| 积分 | 累积求和 | 概率密度 |
优化理论
优化问题三要素:
1. 决策变量:需要确定的参数
2. 目标函数:需要最小化/最大化
3. 约束条件:限制条件
💻 编程基础
Python编程
| 特点 | 优势 | 应用 |
|---|
| 语法简洁 | 易学易用 | 快速开发 |
| 丰富库 | 生态完善 | AI/数据分析 |
| 社区活跃 | 资源丰富 | 问题解决 |
数据结构
graph TB
subgraph 线性结构
A1["数组<br/>连续存储"]
A2["链表<br/>离散存储"]
A3["栈<br/>LIFO"]
A4["队列<br/>FIFO"]
end
subgraph 非线性结构
B1["树<br/>层次关系"]
B2["图<br/>网状关系"]
B3["哈希表<br/>键值映射"]
end
A1 & A2 & A3 & A4 --> B1 & B2 & B3
style A1 fill:#ffebee
style B1 fill:#e3f2fd
算法
| 类型 | 例子 | 复杂度 |
|---|
| 排序算法 | 快速排序、归并排序 | O(n log n) |
| 搜索算法 | 二分查找、深度优先 | O(log n) |
| 图算法 | Dijkstra、A* | O(V²) |
| 动态规划 | 背包问题、最短路径 | 依问题而定 |
🎯 核心结论
基础知识的重要性
- 数学是工具:提供形式化描述
- 编程是手段:实现算法想法
- 数据结构是基础:组织数据方式
- 算法是灵魂:解决问题方法
- 实践是关键:理论结合实践
学习路径
基础知识学习四步骤:
1. 数学基础:线代、概率、微积分
2. 编程语言:Python/Java
3. 数据结构:数组、链表、树
4. 算法设计:排序、搜索、动态规划
📚 参考文献
- 《线性代数》- 同济大学
- 《概率论与数理统计》- 浙江大学
- 《高等数学》- 同济大学
- 《Python编程:从入门到实践》
- 《算法导论》- Thomas Cormen
- 《数据结构》- 严蔚敏
- 《深入理解计算机系统》
- 《计算机程序的构造和解释》
3 items under this folder.