笔记

学习笔记综合版

网络流 最大流 暴力求解 第1步:从残存网络中找出一条从起点S到终点T的简单路径。 第2步:基于路径中容量最小的边,更新残留网络 并不能保证找到最大流 Ford-Fulkerson算法 在暴力的基础上增加了反悔边,保证一定是可以找到最大流的 时间复杂度:O(F*(N + M)) EK算法 可视为 F ......
综合版 笔记

算法学习笔记(-∞): 信息学,学习和考试,我当如何?

杂项2 此杂项主要记录关于考试和竞赛习惯的部分内容,与知识本身无关。 考试 习惯使用 vim 和命令行,在 NOI Linux 下测试。 写代码的时候就应该加上调试语句,每写一部分应当立即测试有没有挂。 很多时候很可能忽略 \(0\) 的情况,需要大力注意边界,这在数学中同样适用。 很多时候,题面的 ......
算法 笔记 信息

算法学习笔记(32): 格路径与计数

格路径与计数 这属于组合数学里面的东西,单独拿出来谈上一谈。 最简单的计数:从 \((0, 0)\) 只能向右或者向左走到 \((n, m)\)。 首先有一个很 naive 的 DP:\(f_{i, j} = f_{i - 1,j} + f_{i, j - 1}\)。 然而如果我们稍微变换一下坐标, ......
算法 路径 笔记 32

【学习笔记】网络流

一些概念 \(\bf{\underline{网络}}\):是一个特殊的有向图 \(G=(V,E)\),它包含: 源点 \(s\),汇点 \(t\)\((s \ne t)\)。 每条边 \(e(u,v)\) 都有一个容量 \(c(u,v)\)。 \(\bf{\underline{流}}\):就像水流, ......
笔记 网络

读图数据库实战笔记02_图数据建模

1. 概念 1.1. 实体 1.1.1. 通常用名词来表示 1.1.2. 描述一个领域中的事物或者事物类型 1.1.2.1. 汽车 1.1.2.2. 用户 1.1.2.3. 地理位置 1.1.3. 在逻辑模型和技术实现过程中,实体通常会变成“顶点” 1.2. 关系 1.2.1. 用动词(或动词短语) ......
数据 实战 数据库 笔记 02

《信息安全系统设计与实现》第八周学习笔记

第四章 并发编程 并行计算 是一种计算方案,它尝试使用多个执行并行算法的处理器更快速的解决问题 并行性与并发性 并行算法只识别可并行执行的任务。CPU系统中,并发性是通过多任务处理来实现的 线程 线程的原理 某进程同一地址空间上的独立执行单元 线程的优点 线程创建和切换速度更快 线程的响应速度更快 ......
笔记 系统 信息

面向对象学习笔记3

构造与析构函数 生命从出生到死亡,拥有它的一生,对象也是如此。 构造与析构函数,则见证了一个对象的创生与消亡。 对象的初始化与构造函数 初始化 Background Information: 在 C++ 中, 为了提高效率,申请内存之后并不会对内存所占的单元进行清空操作,所以初始化这件事就显得尤为重 ......
对象 笔记

学习笔记7

第7章 并发编程 线程 线程创建和终止: 可以使用pthread库中的函数来创建和终止线程。线程可以通过系统调用函数fork()在父进程中创建,也可以通过创建新的进程来创建线程。 线程调度: Linux操作系统会根据一定的算法对线程进行调度,以实现并发执行。线程调度通常包括时间片轮转、优先级调度等机 ......
笔记

学习笔记7

第4章 并发编程 一、知识点归纳 并行计算导论 顺序算法与并行算法 begin-end cobegin-end 并行性与并发性 线程 原理 优点 线程创建和切换速度更快 线程的响应速度更快 线程更适合并行计算 缺点 线程需要来自用户的明确同步 许多库函数可能对线程不安全 在单CPU系统上,使用线程解 ......
笔记

《信息安全系统设计与实现》学习笔记7

第四章 并发编程 并行计算 要求解某个问题,先要设计一种算法,描述如何一步步地解决问题,然后用计算机程序以串行指令流的形式实现该算法。在只有一个 CPU的情况下,每次只能按顺序执行某算法的一个指令和步骤。但是,基于分治原则(如二又树查找和快速排序等)的算法经常表现出高度的并行性,可通过使用并行或并发 ......
笔记 系统 信息

【学习笔记】卡特兰数

卡特兰数 定义: 卡特兰数的计算公式涉及组合计数,它是很多组合问题的数学模型,是一个很常见的数列。 \(\bf{\underline{卡特兰数(Catalan)}}\) 是一个数列,它的一种定义是: \[C_n=\frac{1}{n+1}\binom{2n}{n},n=0,1,2,... \]卡特兰 ......
卡特兰 笔记

学习笔记7+代码

一、苏格拉底挑战 二、遇见的问题 三、实践和代码 代码: #include <stdio.h> #include <pthread.h> // 线程函数,接受一个void*参数,返回一个void*指针 void* thread_function(void* arg) { int thread_arg ......
代码 笔记

Python第二章读书笔记-2023.10.28

03运行超市抹零结账行为 money_all=67.99+11.75+21.1+8.49+25.89+17.5+22.4 money_all_str=str(money_all) print("商品总金额为:",money_all_str) money_real=int(money_all) mon ......
第二章 笔记 Python 2023 10

学习笔记7

第四章 并发编程 这一章主要介绍了并发编程的相关内容,包括并行计算、顺序算法与并行算法以及并行性和并发性;解释了线程的原理机器相对于进程的优势,同时还进行了线程管理、并发编程的实际操作,让我们更加深刻地了解多任务处理、线程同步和并发编程的原理及方法。 并行计算 基于分治原则(如二叉树查找和快速排序等 ......
笔记

第九周Linux学习笔记

本周的学习内容属实有点多(差点跟不上,浅浅吐槽一下),学习了第五章进程管理以及第六章I/O重定向。具体命令及其作用在下面一一列举。 第五章:进程管理 进程小tips:每个进程都有唯一的进程表示PID;进程有就绪态、阻塞态和运行态三个状态;进程有的是密集型有的是疏散型。 1、“ps aux”命令,查看 ......
笔记 Linux

现代企业管理的部分复习笔记

因为不是专业课学的比较随意,大概会分成四个部分,三个内容一个部分题,最近就要考试了,共勉 格式问题显示不好 用word写的,链接如下 我用夸克网盘分享了「现代企业管理.docx」,点击链接即可保存。打开「夸克APP」在线查看,支持多种文档格式转换。 链接:https://pan.quark.cn/s ......
企业管理 部分 笔记 企业

《信息安全与设计》第四章学习笔记

《信息安全与设计》第四章学习笔记 第四章 并发编程 并行计算导论 顺序算法与并行算法 顺序算法:所有步骤通过单个任务依次执行,每次执行一个步骤,当所有步骤执行完成时,算法结束。 并行算法:cobegin-coend代码块来指定独立任务,所有任务都是并行执行的,紧接着代码块的下一个步骤将只在所有这些任 ......
笔记 信息

学习笔记7

目录知识点归纳第4章 并行计算并行性和并发性线程线程同步苏格拉底挑战问题与解决方案实践过程 知识点归纳 第4章 并行计算 并行性和并发性 并行算法只识别可并行执行的任务。CPU系统中,并发性是通过多任务处理来实现的。 通常,并行算法只识别可并行执行的任务,但是它没有规定如何将任务映射到处理组件。在理 ......
笔记

第四章-并发编程(学习笔记7)

一、本章思维导图 二、知识点总结 本章论述了并发编程,介绍了并行计算的概念。指出了并行计算的重要性∶比较了顺序算法与并行算法,以及并行性与并发性;解释了线程的原理及其相对于进程的优势;介绍了Pthread中的线程操作,包括线程管理函数,互斥量、连接、条件变量和屏障等线程同步工具;解释了死锁问题,并说 ......
笔记

用户故事与敏捷开发 读书笔记 04

第6章 用户故事验收测试 比起写冗长的需求列表,可以用测试来充实很多用户故事的细节。测试是一个两步走的流程:第一,将测试要点记录在故事卡的背面,任何时候发现新的测试,都可以记录到故事卡的背面;第二,将测试要点变成全面的测试,这些测试可以用来演示故事已正确、完整地实现。 测试验收提供了确认故事是否被完 ......
笔记 故事 用户 04

第八周Linux教材第四章学习笔记——并发编程

第四章 并发编程 4.1 并行计算导论 在早期,大多数计算机只有一个处理组件,称为处理器或中央处理器(CPU)。受这种硬件条件的限制,计算机程序通常是为串行计算编写的。要求解某个问题,先要设计一种算法,描述如何一步步地解决问题,然后用计算机程序以串行指令流的形式实现该算法。在只有一个CPU的情况下, ......
教材 笔记 Linux

学习笔记7

并发编程 线程 原理:一个操作系统(OS)包含许多并发进程。在进程模型中,进程是独立的执行单元。线程是某进程同一地址空间上的独立执行单元。创建某个进程就是在一个唯一地址空间创建一个主线程。当某进程开始时,就会执行该进程的主线程。如果只有一个主线程,那么进程和线程实际上并没有区别。但是,主线程可能会创 ......
笔记

自制x86 BOOTLADER开发笔记(1)——— 开发环境配置

前言 数年前,出于对于操作系统内核的好奇和兴趣,看了一些自制内核资料和教程,断断续续地也写了一个简单的的玩具内核。 在学习的过程中,往往第一步遇到的问题就是内核的加载和系统的引导,发现不少教程都使用grub等现成的工具直接完成这一步骤,这样能快速的完成读取硬盘、加载内核文件、探测内存等这些dirty ......
BOOTLADER 环境 笔记 x86 86

《程序员修炼之道:从小工到专家》第三第四章读书笔记

第三章 基本工具 第14节 纯文本的威力 本节是第三章:基本工具,首节内容,章节介绍里有一句话: 许多新程序员都会犯下错误,采用单一的强力工具,比如特定的集成开发环境(IDE),而且再也不离开其舒适的界面。这实在是一个错误。我们要乐于超越IDE所施加的各种限制。要做到这一点,唯一的途径是保持基本工具 ......
小工 程序员 笔记 程序 专家

《信息安全系统设计与实现》第八周学习笔记

并行计算导论 顺序算法与并行算法 并行性与并发性 通常,并行算法只识别可并行执行的任务,但是它没有规定如何将任务映射到处理组件。在理想情况下,并行算法中的所有任务都应该同时实时执行 CPU系统中,并发性是通过多任务处理来实现的 线程 线程的原理 线程是操作系统能够进行运算调度的最小单位。它被包含在进 ......
笔记 系统 信息

学习笔记7(第四章)

一、知识点归纳 (一)知识点内容 教材学习内容总结 本章论述了并发编程,介绍了并行计算的概念,指出了并行计算的重要性;比较了顺序算法与并行算法, 以及并行性与并发性;解释了线程的原理及其相对于进程的优势;解释了死锁问题, 并说明了如何防止并发程序中的死锁问题;讨论了信号量, 并论证了它们相对千条件变 ......
笔记

20211314王艺达学习笔记7

第四章 并发编程 教材知识点归纳 本章主要讲述并发编程,介绍了并行计算的概念,指出了并行计算的重要性;比较了顺序算法与并行算法,以及并行性与并发性;解释了线程的原理及其相对于进程的优势;介绍了Pthread中的线程操作,包括线程管理函数,互斥量、连接、条件变量和屏障等线程同步工具;通过具体示例演示了 ......
20211314 笔记

学习笔记:二分图

二分图 引入 二分图又被称为二部图。 二分图就是可以二分答案的图。 二分图是节点由两个集合组成,且两个集合内部没有边的图。换言之,存在一种方案,将节点划分成满足以上性质的两个集合。 性质 如果两个集合中的点分别染成黑色和白色,可以发现二分图中的每一条边都一定是连接一个黑色点和一个白色点。换言之,二分 ......
笔记

学习笔记:拓扑排序

拓扑排序 引入 拓扑排序是一个有向无环图的所有顶点的线性序列。 该序列需要满足每个顶点出现且只出现一次和如果有一条 AA 到 BB 的路径,在序列中 AA 出现在 BB 的前面。 实现 拓扑排序的步骤: 计算每个点的入度。 入度为 \(0\) 就加入队列。 当队列不为空则循环: 取出队首元素并输出。 ......
拓扑 笔记

学习笔记:欧拉图 & 欧拉路

欧拉图 & 欧拉路 定义 图中经过所有边恰好一次的路径叫欧拉路径(也就是一笔画)。如果此路径的起点和终点相同,则称其为一条欧拉回路。 欧拉回路:通过图中每条边恰好一次的回路。 欧拉通路:通过图中每条边恰好一次的通路。 欧拉图:具有欧拉回路的图。 半欧拉图:具有欧拉通路但不具有欧拉回路的图。 性质 欧 ......
笔记 amp