自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 字符串之KMP算法

今天,是字符串的一个重要算法——kmp算法(考研会考)解决字符串匹配问题(主串p,模式串ss是p的字串吗?若是,找出具体位置)。

2026-03-25 22:23:08 428

原创 背包问题BP

在选择背包的物品时,对每种物品i只有两种选择,即装入背包1和不装如背包0,不能将物品装入背包多次,也不能只装一部分(商品不可分割)给n种物品,每种物品有无限多个,放入容量为m的背包中(可以重复放入同一种物品),如何使背包的价值最大。01背包时有个易错点,会放很多次,但是在完全背包中,刚好可以达到降维的目的(三维->二维)题目本身不难,但是会加情景,情景中的变量和背包中的变量是否一致是需要考虑的。题目本身不难,但是会加情景,情景中的变量和背包中的变量是否一致是需要考虑的。​ 二维->一维(滚动数组)

2026-03-24 23:39:57 357

原创 欧拉路径算法

今天,要学的是欧拉路径~

2026-03-24 23:02:50 693

原创 拓扑排序算法

今天是拓扑排序算法~拓扑序列:设G = (V, E)是一个具有n个顶点的有向图,V中的顶点序列V1、V2、V3…Vn满足若从顶点Vi->Vj有一条路径,则在顶点序列中顶点Vi必在Vj之前。我们称其为拓扑序列拓扑排序:对DAG图构造拓扑序列的过程只有无环图才能产生拓扑序列。

2026-03-23 23:04:31 644

原创 最短路径之Bellman-Ford算法

今天,是最短路径~基于动态规划(后面详细讲),可以计算图中任意两点间的最短路径(多源最短路)基于贪心,用来计算一个点到其他任意点的最短路径的算法(也就是说,只能计算起点只有一个的情况)。不能处理存在负边权的情况。假设起点是sdis[i] /dis[s][i]表示s到i的最短(路径的)距离,w[i][j]表示边<i, j>的权值,用i做中转点,来不断缩短s到j的距离。此操作称作松弛(relax)在Dijkstra算法中,对每条边执行一次松弛操作:贪心 + 松弛。

2026-03-22 23:23:55 465

原创 排序算法详解2

前面讲了插入排序,快速排序,今天又会带来哪些排序算法呢?

2026-03-21 17:48:18 420

原创 排序算法详解1

我们拿到一个数据结构,就会就其中进行一定的操作,比如:让数据的关键字有序存放这里的序,找数据的唯一标识key(按照?排序),默认是从小到大。

2026-03-20 21:15:33 253

原创 最小生成树算法

今天介绍最小生成树算法,最小生成树算法前提:(对应数据结构要掌握的)Kruskal算法Prim算法生成树:仅针对于连通图,对于有n个顶点的连通图,至少有n-1条边,那么连接所有顶点的极小连通子图就是生成树连通图:如果从任意一个顶点出发,沿着边总能走到任何其他顶点非连通图不存在生成树,而是只存在生成森林注:若在图的生成树上任意加上一条边,就必然形成回路最小生成树:对于连通网来说,边是带权值的,生成树的各边也带权值,因此把生成树的各边的权值总和称为生成树的权,把权值最小的生成树称为最小生成树。

2026-03-20 21:11:40 542

原创 线性和区间动态规划

线性DP是具有线性阶段划分的动态规划算法。若状态包含多个维度,则每个维度都是线性划分的阶段其是在线性结构上进行状态转移,这类问题没有固定的模板将问题划分为若干个子区间,并通过自定义状态和状态转移方程来求解每个子区间的最优解,最终得到整个区间的最优解对于每个区间,它的合并方式可能有很多种,我们需要去枚举所有的划分方式,通常是枚举区间的分割点,找到最优的方式(一般是找最少消耗)

2026-03-01 15:57:45 805

原创 字符串哈希

今天,是字符串哈希通常我们采用的是多项式Hash的方法,对于一个长度为l的字符串s来说,我们可以这样定义多项式Hash函数:其中,M需要选择一个素数(至少要比最大的字符要大),b是一个比最大字符大的整数(ASCII码值比较,根据经验,131比较好用)s = "xyz";该函数,实际上是将字符串看成b进制数,和我们平时的将一个某n进制数,变为一个十进制数,相类似。由于算出来的数字可能很大,所以对一个质数M取模(对质数取模,保证冲突相对较低)

2026-02-22 17:18:45 973

原创 图的存储之链式前向星

今天,是图的相关算法~数据结构涉及5种存图方式:邻接矩阵、邻接表、十字链表、邻接多重表、边集数组邻接矩阵:有向图、无向图邻接表:有向图、无向图十字链表:有向图邻接多重表:无向图边集数组:有向图、无向图邻接表、十字链表、邻接多重表是基于链表实现的,涉及到指针指向,代码操作复杂,易出现bug。刷题时常用的时邻接矩阵和邻接表(实现会进行改进)邻接矩阵、边集数组本身是基于数组的。

2026-02-12 15:02:45 1148

原创 DFS & BFS 搜索及优化

今天,是搜索及其优化~相当有难度的一个算法,可谓是融合递归、队列等知识搜索:也是对状态空间进行枚举,通过穷尽所有的可能来找到最优解,或者统计合法解的个数。搜索有很多优化方式,如减小状态空间,更改搜索顺序、剪枝等搜索分为:DFS & BFS深度优先遍历,每次都尝试往更深的节点走。在搜索算法中,该DFS常常指利用递归函数方便地实现暴力枚举的算法。通常是:构造一棵搜索树(状态树)来进行搜索。枚举所有的可能情况,每一种答案的得出过程有很多种可能,这些结果可以形成一棵状态树/搜索树。

2026-02-10 16:47:29 372

原创 并查集相关

今天,是并查集~并查集:查找某两个元素是否在同一个(树型)集合中(本质就是在集合中做合并和查询操作)一开始:所有的元素相互独立,每个元素单独成树给出信息:x y可以放在同一个集合中,分别查找x和y的根节点,把两棵树进行合并查询:a b,看一下a b是否在同一棵树中。

2026-02-06 17:11:11 346

原创 二叉树相关题目

今天是关于二叉树的相关题目的剖析~

2026-02-05 20:15:58 503

原创 栈和队列相关题目

今天是栈和队列相关的题目~本篇结合灵神题单、洛谷官方书籍等以及我的思考等。

2026-02-04 17:20:21 817

原创 链表相关题目

接下来就要进入基础数据结构部分了~

2026-02-02 18:57:00 1094

原创 递归 & 分治

今天,我们来学习算法的第一座大山——递归 & 分治~在数学和计算科学中是指函数的定义中使用函数自身的方法,在计算科学中还额外指一种通过重复将问题分解为同类的子问题而解决问题的方法在树的学习中,这种思想也是使用颇为广泛大问题可以分解成小问题,小问题可以继续分,大问题和子问题的解决方式是一样的字面意思就是“分而治之”,把一个复杂的问题分成两个或更多的相同或相似的子问题,子问题相互独立,直到最后子问题可以简单的直接求解,原问题的解即子问题的合并。——最优子结构性质。

2026-01-31 16:47:52 347

原创 二分算法(优化)

在一个有序数组中查找一个数。每次考察数组当前部分的中间元素,如果中间元素刚好是要找的,就结束搜索过程;如果中间元素小于所查找的值,那么左侧的只会更小,不会有所查找的元素,只需到右侧查找;如果中间元素大于所查找的值,同理,只需到左侧查找。

2026-01-29 21:14:39 431

原创 进程调度和批处理系统调度

今天,我们来介绍调度~调度的本质是一个程序,调度的对象是进程(或内核级线程)CPU读了指令,就能运算,这就需要一个程序让CPU的PC指针指到一个对应的任务上怎么理解进程和内核级线程呢?就当作资源体,如:P1、P2…

2026-01-29 15:37:40 623

原创 前缀和 & 差分

今天,我们一起走进前缀和 & 差分~一种重要的预处理算法前缀和,数列的前i项和,是一种重要的预处理方式。差分和前缀和互为逆运算解决元素变化问题。

2026-01-28 15:52:17 673

原创 双指针算法

今天,我们来重温算法题型之滑动窗口问题~在大题中算是一种优化的策略滑动窗口/n指针/尺取法,本质都是一样的。利用双/n指针遍历获取满足条件的区间的算法。

2026-01-24 22:22:59 519

原创 管程、消息通信、屏障等

本篇将是进程间通信的最后一节~高级语言才有(尤其是Java语言比较支持)解决问题:进程的同步、互斥,不需要死锁死锁:我占着这把锁,别人也占着,抢不到锁,让有锁的人也放弃CPU(就像上一章中讲述的优先级反转的问题)定义:抽象的表示共享资源和对共享资源数据操作的集合(一种数据类型)把操作方法,初始化方法,共享变量(临界区)统统封装在一起管程内定义的局部变量只能被管程访问,任何进程只能经过特殊的函数调用才能进入管程,一次只能进一个进程不同的编程语言有不同的行为(不一定叫管程)

2026-01-21 22:00:23 721

原创 Linux的rpm与yum

在Linux中怎么管理软件包呢?

2026-01-18 21:49:25 695

原创 Linux的Shell编程

Linux Shell编程

2026-01-18 17:49:45 832

原创 信号量机制和生产者消费者问题

信号量机制~

2026-01-16 22:29:29 702

原创 Linux日志管理

Linux日志管理~

2026-01-16 16:55:59 624

原创 Linux进程与服务管理

Linux的进程与服务管理详解~

2026-01-15 23:37:48 716

原创 Linux磁盘分区和NAT网络配置

Linux磁盘如何分区?NAT网络如何配置?

2026-01-15 23:24:35 759

原创 Linux的基本管理及命令(下)

接上一章~

2026-01-13 20:22:55 809

原创 Linux的基本管理及命令(上)

Linux的基本管理及命令详解~

2026-01-12 18:26:29 757

原创 Linux基本概述

Linux的基本概述~

2026-01-11 17:20:19 971

原创 同步互斥机制和编程方法

你了解同步互斥吗?

2026-01-08 21:46:51 871

原创 线程编程模型和进程间通信概述

从编程视角带你深度剖析线程与进程的区别,初步理解进程间通信~

2026-01-07 23:13:40 691

原创 进程切换和线程调度

进程是怎样切换的呢?怎么区别进程和线程?

2026-01-06 21:04:37 968

原创 进程简介及进程编程模型

你知道什么是进程吗?

2026-01-05 18:08:05 623

原创 vscode远程连接centos

vscode远程连接centos,超详细教程~

2026-01-05 11:11:52 778

原创 操作系统发展史和常见习题汇总

操作系统是怎样发展的呢?附带了一些习题解析~

2026-01-03 20:54:22 1021

原创 操作系统软件视角和系统调用

软件视角下的操作系统是怎样的呢?关于系统调用是怎样的呢?

2026-01-03 20:44:27 857

原创 操作系统概述和硬件视角

操作系统总览之硬件视角~

2026-01-01 21:38:06 1009

原创 DHCP和HTTP2_3

关于DHCP你知道多少,HTTP协议的进化你了解多少?

2025-12-30 18:35:18 1191

空空如也

空空如也

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

TA关注的人

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