自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 收藏
  • 关注

原创 数据表示与运算

🎯:掌握计算机如何用二进制表示各种数据(整数、小数、字符),以及ALU如何进行算术和逻辑运算。

2026-07-31 23:29:48 205

原创 计算机系统概述

计算机组成原理是研究计算机硬件系统如何构成、如何工作、如何相互协作的学科。计算机由哪些部件组成?各部件之间如何连接?数据如何在各部件间流动?指令如何被CPU执行?💡一句话概括:如果说操作系统是计算机的"管家",计算机组成原理就是研究"房子"是如何建造的。

2026-07-31 23:23:14 328

原创 10 组合计数:数清楚有多少种可能

离散数学的五大模块——逻辑、集合、代数、图论、组合——我们已经全部走过。这不是终点,而是起点。离散数学提供的精确思维、抽象能力和结构直觉,将贯穿你在计算机科学中的每一段旅程。愿你带着这些工具,在算法、系统、理论和应用的广阔天地中,走得越来越远。数学的魅力不在于答案,而在于思考答案的道路。而离散数学,正是计算机世界中最优雅的道路之一。🎯。

2026-07-26 23:03:10 256

原创 09 树与特殊图:图论中最优雅的舞者

定义1:树是连通的无向无环图。定义2:树是任意两顶点间有唯一路径的无向图。定义3:树是连通且边数 = 顶点数 − 1 的图。定义4:树是无环且边数 = 顶点数 − 1 的图。定义5:树是最小连通图(去掉任何一条边都会变得不连通)。定义6:树是最大无环图(添加任何一条边都会产生环)。这六种定义是等价的!从不同角度刻画了树的本质。生成树(Spanning Tree):连通图的子图,包含图的所有顶点,且是一棵树。即:用尽量少的边(n−1 条)连接所有 n 个顶点。

2026-07-26 23:01:33 358

原创 08 图论基础:节点与边的离散世界

图V 是顶点集(Vertex Set),即节点的集合E 是边集(Edge Set),即连接节点的边的集合无向边(Undirected Edge):(u, v) = (v, u),没有方向有向边(Directed Edge / Arc):<u, v> ≠ <v, u>,有方向无向图(Undirected Graph):所有边都是无向的有向图(Directed Graph / Digraph):边有方向。

2026-07-26 23:00:53 185

原创 07 格与布尔代数:偏序遇见逻辑

图V 是顶点集(Vertex Set),即节点的集合E 是边集(Edge Set),即连接节点的边的集合无向边(Undirected Edge):(u, v) = (v, u),没有方向有向边(Directed Edge / Arc):<u, v> ≠ <v, u>,有方向无向图(Undirected Graph):所有边都是无向的有向图(Directed Graph / Digraph):边有方向。

2026-07-25 21:08:38 199

原创 07 格与布尔代数:偏序遇见逻辑

格交换律结合律吸收律∨(Join/并):两个元素的上确界∧(Meet/交):两个元素的下确界布尔代数是分配格是有补格(且补元唯一)有界(有 0 和 1)等价地,布尔代数可以用公理化定义:交换律、结合律、分配律补元律:a ∨ a’ = 1,a ∧ a’ = 0有界:a ∨ 0 = a,a ∧ 1 = a。

2026-07-25 21:08:02 182

原创 06 代数系统:运算背后的结构之美

集合运算熟悉的规则整数 ℤ加法 +a + 0 = a非零有理数 ℚ*乘法 ×a × 1 = an×n 矩阵矩阵乘法但 AB ≠ BA(一般不交换)字符串连接但 “ab” ≠ “ba”布尔值逻辑与T ∧ T = T;T ∧ F = F;满足结合律、交换律这些例子中,集合配上运算,并满足一定的性质,就构成了代数系统一个代数系统是一个或多个非空集合,连同定义在这些集合上的运算,以及这些运算满足的公理(规则)。最简单的形式是广群(Groupoid)或原群(Magma):(S,

2026-07-25 13:41:39 390

原创 05 关系与函数:元素之间的秘密纽带

先看几个生活中的"关系":“3 大于 2”“张三和李四是朋友”“北京到上海的火车票价是 553 元”“5 整除 10”这些关系都有共同结构:涉及两个对象(或更多),以及它们之间的某种联系。二元关系(Binary Relation)R 从 A 到 B 是笛卡尔积 A × B 的一个子集:R ⊆ A × B即:关系就是一组"有序对"的集合。若 (a, b) ∈ R,记作 aRb,读作"a 与 b 有 R 关系"。例子:设 A = {1, 2, 3}, B = {2, 3, 4}

2026-07-25 13:41:00 380

原创 04 集合论:一切数学结构的容器

集合(Set)是由确定的不同对象构成的整体。这些对象称为集合的元素(Element)。集合是由满足某种特定性质的对象所组成的整体。a ∈ A:a 是集合 A 的元素(属于)a ∉ A:a 不是集合 A 的元素(不属于)A 的幂集(Power Set),记作 P(A) 或 2ᴬ,是 A 的所有子集所组成的集合。例子。

2026-07-25 13:39:57 374

原创 03 谓词逻辑:当“所有“和“存在“加入战场

命题逻辑能判断"今天下雨"的真假,但它无法表达"所有人都会死"或"存在永生的人"。当我们需要在逻辑中谈论"对象"和"属性"时,命题逻辑就显得力不从心了。谓词逻辑,就是为了解决这个问题而诞生的。

2026-07-21 00:00:08 352

原创 02 命题逻辑:真与假的精密游戏

如果前提全部为真能保证结论为真,那么这个推理就是有效的(Valid)。形式化地说:如果 (p₁ ∧ p₂ ∧ … ∧ pₙ) → q 是重言式,那么从前提 p₁, p₂, …, pₙ 推出 q 的推理就是有效的。

2026-07-20 23:57:48 278

原创 01 离散数学导论:打开计算机科学的数学之门

每个抽象定义背后都有大量具体的例子。"同班同学"是不是等价关系?"年龄相同"是不是等价关系?"互相认识"是不是等价关系?用生活中的例子验证定义,抽象概念就会落地。

2026-07-20 23:57:10 256

原创 NoSQL 数据库:不只是关系型

到这里,数据库原理与应用的学习博客系列就告一段落了。数据库基础├── 01 数据库导论与概述(DB/DBMS/DBS 概念)├── 02 数据模型(层次/网状/关系/E-R)├── 03 关系数据库基础(键、完整性、关系代数)├── 04 SQL 语言基础(DDL/DML 四大操作)├── 05 SQL 进阶操作(JOIN、聚合、子查询、视图)├── 06 数据库完整性约束(实体/参照/用户自定义)├── 07 数据库安全性(授权、角色、视图、加密)

2026-07-16 12:37:29 203

原创 索引与查询优化:让数据库跑得更快

索引是数据库的"目录",B+树索引让查询从全表扫描O(n)降到O(log n);查询优化通过分析执行计划、合理使用索引、避免全表扫描和隐式转换,让数据库查询性能提升数十倍甚至数百倍。

2026-07-16 12:36:51 307

原创 存储过程与触发器:自动化你的数据库

存储过程(Stored Procedure)是预先编译好并存储在数据库中的一组 SQL 语句。调用时只需传入参数,数据库直接执行,无需重新编译。触发器(Trigger)是特殊的存储过程,它不需要手动调用,而是在特定事件(INSERT/UPDATE/DELETE)发生前或发生后自动执行。游标(Cursor)是指向查询结果集的指针,可以逐行读取数据,适合需要逐行处理(而非批量处理)的场景。

2026-07-09 16:08:37 245

原创 数据库恢复技术:当灾难来临

数据库通过事务日志(Undo/Redo 日志)、检查点(Checkpoint)和定期备份,构建了三重恢复防线,能在事务故障、系统故障和介质故障后,将数据恢复到一致、正确、可用的状态。

2026-07-09 16:07:33 219

原创 事务与并发控制:当多人同时操作数据库

事务(Transaction)是用户定义的一个数据库操作序列,这些操作要么全部执行,要么全部不执行,是一个不可分割的工作单位。MVCC(Multi-Version Concurrency Control)是不用锁也能实现并发控制的技术。核心思想:每个数据项都有多个版本,读操作读取的是历史版本,写操作创建新版本,读和写互不阻塞。

2026-07-08 19:56:35 276

原创 数据库设计方法:从需求到表结构

数据库设计遵循"需求分析 → 概念结构设计(E-R 图) → 逻辑结构设计(关系模式) → 物理结构设计(索引/存储)"四步流程,每一步都有明确的目标和交付物,是理论与实践的完美结合。

2026-07-08 19:56:03 277

原创 关系数据库设计理论:为什么我的表设计总是出问题?

函数依赖(Functional Dependency, FD)是关系数据库设计理论的核心概念。定义:如果属性集 X 的值能唯一确定属性集 Y 的值,则称X 函数决定 Y,或Y 函数依赖于 X,记作X → Y。类比数学函数:y = f(x),给定 x 就能唯一确定 y。范式核心要求解决的问题拆分方法1NF属性不可再分数据重复、查询困难把复合属性拆开2NF消除部分依赖插入/删除异常、冗余按主键拆分出独立表3NF消除传递依赖更新异常、冗余把传递依赖链拆开BCNF所有决定因素都是候选键。

2026-07-05 11:00:46 214

原创 数据库安全性:保护数据不被侵犯

攻击者通过在输入框中注入恶意 SQL 代码,欺骗数据库执行非预期的操作。# ❌ 绝对不要这样做!username = input("请输入用户名:")password = input("请输入密码:")sql = f"SELECT * FROM 用户 WHERE 用户名='# ❌ 绝对不要这样做!username = input("请输入用户名:") password = input("请输入密码:") sql = f"SELECT * FROM 用户 WHERE 用户名=' {

2026-07-05 11:00:01 267

原创 数据库完整性:守住数据的质量底线

数据完整性(Data Integrity)指的是数据的正确性、有效性和相容性。简单来说,就是数据库里的数据必须是"靠谱"的。CREATE TABLE 学生 (学号 CHAR(10) PRIMARY KEY,姓名 VARCHAR(20) NOT NULL, -- 姓名不能为空手机号 VARCHAR(15) -- 手机号可以为空(未填写)-- 错误INSERT INTO 学生 (学号) VALUES ('2024001');-- ❌ 姓名不能为 NULL约束类型作用对象关键字功能。

2026-07-04 15:14:49 769

原创 SQL 进阶:让查询更强大

│ JOIN 类型图解 ││ ││ 左表 ○○○○○ 右表 □□□□□ ││ ││ INNER JOIN: ○○□□○ (交集) ││ LEFT JOIN: ○○□□○○○ (左表全部 + 匹配) ││ RIGHT JOIN: ○○□□□□□ (右表全部 + 匹配) ││ FULL JOIN: ○○□□○○○○□□□ (并集) ││ ││ CROSS JOIN: ○○○○○ × □□□□□ = 25 行 (笛卡尔积) ││ │子查询就是嵌套在另一个查询中的查询,用括号()包裹。

2026-07-04 15:14:14 274

原创 SQL 基础:数据库的“普通话“

SQL(Structured Query Language)是操作关系数据库的标准语言,核心就是四大操作:查(SELECT)、增(INSERT)、删(DELETE)、改(UPDATE),配合 CREATE、ALTER、DROP 管理表结构。

2026-07-03 21:36:20 554

原创 关系数据库:从一张表说起

在关系模型中,关系(Relation)就是一张二维表。但严格来说,它比普通表格有更多的约束和精确的定义。关系是域的笛卡尔积的子集。听起来很抽象?域(Domain):属性的取值范围。例如"性别"的域 D1 = {男, 女},"专业"的域 D2 = {计算机, 软件工程, 人工智能}。笛卡尔积:D1 × D2 = {(男, 计算机), (男, 软件工程), (男, 人工智能), (女, 计算机), (女, 软件工程), (女, 人工智能)},共 2×3 = 6 种组合。关系:从笛卡尔积中选出有意义的组合。

2026-07-03 21:35:50 212

原创 数据模型:如何用模型描述真实世界?

数据模型是数据库的"设计蓝图",层次模型像树形目录,网状模型像复杂路网,关系模型像二维表格——而关系模型凭借简单直观和坚实的数学基础,成为了现代数据库的绝对主流。

2026-06-30 22:08:41 398

原创 数据库导论:为什么要学数据库?

数据库是管理数据的"智能仓库",能高效、安全地存储、组织和检索海量数据;数据库管理系统(DBMS)是操作这个仓库的工具;数据库系统(DBS)则是硬件、软件、数据和人员组成的完整生态。

2026-06-30 22:07:48 329

原创 线性变换:矩阵的几何灵魂

变换TRn→RmTRn→RmTx⃗y⃗Txy​例子旋转:把平面上的向量逆时针转 45°投影:把三维向量投影到xyxyxy平面上伸缩:把向量拉长 2 倍剪切:像推扑克牌那样"斜推"向量变换TTT是线性变换可加性Tu⃗v⃗Tu⃗Tv⃗TuvTuTv齐次性Tcu⃗cTu⃗TcucTu直观理解:线性变换保持加法和数乘的结构。它把直线变成直线(或点),把原点映射到原点。非线性变换的例子Tx。

2026-06-26 17:34:29 448

原创 奇异值分解与最小二乘:线性代数的高峰与应用

对于任何矩阵AAA(包括非方阵、不可逆方阵),定义伪逆AVΣUTAVΣUT其中Σ\Sigma^+Σ是把Σ\SigmaΣ的非零奇异值取倒数,然后转置(n×mn \times mn×m至此,我们已经走完了线性代数的核心旅程。向量与空间→矩阵与运算→方程组与消元→行列式→特征值→正交性→线性变换→SVD矩阵乘法是线性变换,列视角是线性组合高斯消元揭示秩和子空间结构行列式是体积伸缩因子,判断可逆性特征值找到"只伸缩不旋转"的方向。

2026-06-26 17:34:14 864

原创 正交性与正交投影:几何之美的代数表达

两个向量a⃗\vec{a}a和b⃗\vec{b}b的点积a⃗⋅b⃗a1b1a2b2⋯anbn∑i1naibia⋅ba1​b1​a2​b2​⋯an​bn​i1∑n​ai​bi​a⃗Tb⃗aTb(如果都是列向量)。如果a⃗⋅b⃗0a⋅b0,则称a⃗\vec{a}a与b⃗\vec{b}b正交几何意义:夹角θ90°θ90°。

2026-06-25 19:41:36 255

原创 特征值与特征向量:矩阵的“DNA“

对于方阵AAA,如果存在非零向量v⃗\vec{v}v和标量λ\lambdaλAv⃗λv⃗Avλvλ\lambdaλ为AAA的特征值v⃗\vec{v}v为AAA对应于λ\lambdaλ的特征向量注意v⃗\vec{v}v必须是非零向量!(零向量平凡地满足等式,但没有意义。

2026-06-25 19:38:55 182

原创 行列式:从面积到可逆性的密码

对于n×nn \times nn×n矩阵AaijAaij​det⁡A∑σ∈Snsgnσ∏i1naiσidetAσ∈Sn​∑​sgnσi1∏n​aiσi​其中SnS_nSn​是所有12n12n的排列,sgnσsgnσ是排列的符号(偶排列为1+11,奇排列为−1-1−1这个定义很优美,但计算n≥4n \geq 4n≥4时几乎不实用。

2026-06-24 17:48:26 236

原创 线性方程组与高斯消元:从混乱到秩序

每个方程中,未知数都只出现一次,且没有乘积项(如xyxyxy)或幂次项(如x2x^2x2二元一次方程组(熟悉的老朋友)2x3y85x−2y12x3y85x−2y1​三元一次方程组x2y3z92x−yz83xy−2z3⎩⎨⎧​x2y3z92x−yz83xy−2z3​nnn元方程组a11x1a12x2⋯a1nxnb1a21x1。

2026-06-24 17:47:32 382

原创 矩阵与矩阵运算:线性代数的“瑞士军刀“

AAA是2×32 \times 32×3矩阵BBB是3×23 \times 23×2矩阵A123456B789101112A14​25​36​B​7911​81012​​乘积CABC = ABCAB是2×22 \times 22×2Cij∑k13Aik⋅BkjCij​k1∑3​Aik​⋅Bkj​AB1⋅72⋅9。

2026-06-23 00:24:04 251

原创 向量与向量空间:线性代数的基石

摘要: 向量是线性代数的基本概念,本质是一组有序数字,可表示方向、位移或数据。向量空间是支持加法和数乘的封闭集合,如二维平面ℝ²。线性组合通过加权求和生成新向量,其所有可能结果构成张成空间。线性无关指向量间无法相互表示,基是一组能生成整个空间的线性无关向量,其数量决定空间维度(如ℝ²的维度为2)。常见误区包括将向量仅视为箭头或忽略抽象向量空间。建议通过几何直观和具体例子理解概念间的逻辑链:向量空间→线性组合→张成→线性无关→基→维度。这些概念为理解矩阵和线性变换奠定基础。

2026-06-23 00:21:01 950 2

原创 机器学习学习指南:从零基础到实战入门

机器学习(Machine Learning)是人工智能的核心分支,它使计算机能够从数据中自动学习模式,而不需要显式编程。近年来,随着大数据和算力的飞速发展,机器学习已在图像识别、自然语言处理、推荐系统、自动驾驶等领域取得了革命性的突破。对于初学者来说,机器学习的学习曲线看起来可能很陡峭,但只要掌握正确的学习路径和方法,人人都可以入门并做出实际项目。本文将从数学基础、经典算法、编程工具到实战项目,系统性地带你走进机器学习的精彩世界。实际项目中 80% 的时间花在数据清洗上。

2026-06-13 22:07:02 395

原创 最长上升子序列(LIS):贪心+二分优化算法详解

LIS贪心+二分优化

2026-03-26 18:50:32 403 1

原创 完全背包问题求解

完全背包

2025-03-24 10:41:54 473

原创 01背包问题

为了实现求解,我们定义状态 \(dp[i][j]\),其含义为:在考虑前 i 个物品的情况下,当背包内物品总体积达到 j 时所能获得的最大价值。仔细观察状态转移方程 (dp[i][j] = max(dp[i - 1][j], dp[i - 1][j - w] + v)) ,可以发现 (dp[i]) 这一行的状态仅依赖于 (dp[i - 1]) 这一行的状态。状态转移方程为:(dp[i][j] = max(dp[i - 1][j], dp[i - 1][j - w] + v)\)。

2025-03-23 16:18:33 379

原创 动态规划基础(LCS)

LCS

2025-03-16 15:32:08 221

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除