置顶文章

精选分类

文章列表

# Git 以及 Fork Gui 的使用 这是一份给完全没接触过 Git 的同学准备的实操指南。 # 1. Git 是什么? Git:代码版本管理工具。 你可以把它理解成 “代码时光机 + 协作工具”。 作用: 记录每次代码变化(谁改了什么)。 出问题时回退到历史版本。 多人协作不互相覆盖。 # 2. 先理解 4 个核心概念 工作区(Working Directory):你正在编辑的文件。 暂存区(Staging Area):准备提交的文件清单。 本地仓库(Local Repository):你电脑上的版本历史。 远程仓库(Remote...

# 1. 收集 BuildSetting 中配置的所有新路径 1234// 1️⃣ 收集所有在 BuildSetting 中配置的资源路径 ms_CollectBuildSettingFileProfiler.Start(); HashSet<string> files = buildSetting.Collect(); ms_CollectBuildSettingFileProfiler.Stop(); # 2. 收集每个文件的依赖关系 1234// 2️⃣ 收集每个文件的依赖关系(.mat、.png、.anim等)...

# 1. 为什么需要? 这个性能工具的作用是,能够让我们自己知道,每个阶段分别耗时多少,并且哪个阶段最慢,用了哪些步骤。 # 2. 核心 这个轻量级性能分析工具的本质,其实就是一个树形结构的计时器。每个节点都是一个 Profiler 的实例,可以 记录这段任务的耗时 记录拥有哪些子节点 输出统计结果 # 3. 文件逻辑组成 # 3.1 静态成员 12345678// 全局计时器(Stopwatch 是高精度计时器) private static readonly Stopwatch ms_Stopwatch = Stopwatch.StartNew(); // 用于生成最终的文本结果...

# 数组相关 数组并不会有太复杂的题目来考,所以大多只是将想法转换成代码; 在数组这块会有一些常用的解题方式,如双指针法,滑动窗口 (双指针的一种应用),前缀和解决时间复杂度问题,即创建一个新的数组用于存储对应下标前面几个元素的和;二分查找等 # vector 与普通数组的使用区别 只有在一些低性能场景下,数组对比哈希表和 vector 会有一定的性能优势,会使用数组,其他大多数场景都会更加推荐使用 vector 12345678//初始化vector<int> nums(5,0); //5个元素,初始化为0nums.push_back(19);...

# Lecture 9: Streaming and Sketching II - 内容总结 # Part1 引入流式算法以及解决方案 # 🧩 课程引入:流式算法的挑战 数据以流的形式连续到达,不能全部存储。 算法 A 读取前一部分数据后输出结果 21.5 。 结果还没来得及用,更多的数据又到达了。 再运行 A 得到新的结果 18.1 。 关键问题: 如何把两个结果合并成一个整体答案? # 🧠 引入 Sketching 的概念 对每段数据 σ ,算法 A 生成一个摘要: S(σ) ,称为 sketch。 特性: S(σ) 是对数据的压缩表示; 可以从 S(σ)...

# Lecture 9: Streaming and Sketching II - 内容总结 # Part1 引入流式算法以及解决方案 # 🧩 课程引入:流式算法的挑战 数据以流的形式连续到达,不能全部存储。 算法 A 读取前一部分数据后输出结果 21.5 。 结果还没来得及用,更多的数据又到达了。 再运行 A 得到新的结果 18.1 。 关键问题: 如何把两个结果合并成一个整体答案? # 🧠 引入 Sketching 的概念 对每段数据 σ ,算法 A 生成一个摘要: S(σ) ,称为 sketch。 特性: S(σ) 是对数据的压缩表示; 可以从 S(σ)...

需要解决流式算法的问题,我们有两种思路,一种是乘法近似,一种是加法近似 ![[Pasted image 20250614130820.png]] 接下来介绍第一个问题 # Majority 问题 这个问题需要解决的是,在一个流式输入的过程中,是否有哪个元素的出现次数 > m/2 或者是一个变量,比如 1/k 的 m 为了解决这个问题,我们可以用以下算法 Misra-Gries algorithm 这个算法的定义是,由于我们只有很小的一个空间用来存放数据,所以我们可以使用一种算法,例如我们只有 1/ε 的空间,所以,我们在每个元素流过时执行以下的操作: 1....