- 博客(70)
- 收藏
- 关注

原创 数据结构——图
按照边的有无方向可以分为有向图和无向图;显然有向图就是有一个指向表示(一条边为 而向图则表示A与B是连通的:即对于无向图都是成立的)1. 端点和邻接点:2. 顶点的度、出度和入度ABCD点出度入度A10B11C013. 完全图这就是一个有向完全图ab这就是一个无向完全图AB4. 稀疏图和稠密图5. 子图设有两个图和,如果V’是V的子集,即⊆\subseteq⊆ 且是的子集即⊆\subseteq⊆ ,则称G’是G的子图注意:并非V和E
2022-06-04 17:05:20
4516
原创 哲学家进餐问题
2.给哲学家编号,要求奇数哲学家先拿左边的筷子,再拿右边的筷子,而偶数哲学家相反。3.一名哲学家左右两边的筷子均可用。1.最多允许四个哲学家同时进餐,
2024-06-12 20:07:39
793
原创 KMP算法代码实现
其中next数组的含义就是,当子串的第k个字符与主串发生错误匹配时,跳到子串的next[j]位置重新与主串当前位置进行比较。这样的算法也可以通过暴力的方式解决,但是在极端情况下暴力算法会有很大的时间开销,因此KMP算法应运而生。数组作为回溯子串位置的依据(以此加快子串的滑动从而防止了主串的回溯,很大程度上优化了程序的时间复杂度)KMP算法的主要原理就是在匹配的过程中减少不必要的比对,从而减少计算次数降低时间复杂度。无关了,因此在KMP算法中我们主要研究子串的构造,并通过研究子串构造出一个。
2024-03-10 23:16:16
420
原创 为什么TCP连接使用使用三次握手规则而不是两次?
但是此时网络中拥堵的TCP连接请求又奇迹般的到达了TCP服务器,这时服务器又会建立连接,因为服务器并不知道客户端是否离线。假设一个TCP连接请求在网络中拥堵了,在规定的时间内未能到达TCP服务器,因此客户端重传该TCP连接请求。建立连接后,客户端处于关闭状态,因此此时会导致客户端占用服务器资源,造成浪费。在双方建立连接并传输数据后,释放该连接,此时客户端已经离线。当使用两报文握手建立连接时会发生什么样的情况呢?TCP使用的是三报文握手来建立连接。
2023-08-19 18:01:11
340
原创 TCP报文段的首部格式
*以字节为单位,用来指明紧急数据的长度 【但发送方有紧急数据时,可以将紧急数据插队到发送缓存的最前面,并立刻封装到一个TCP报文段中进行发送,紧急指针会指出本报文段数据载荷部分包含了多长的紧急数据,紧急数据之后就是普通数据】**复位标志位RST:**用来复位TCP连接,当RST = 1时,表明TCP连接中出现严重差错,必须释放连接,然后再重新建立运输连接【还可以用来拒绝一个非法的报文段或者拒绝打开一个TCP连接】在计算校验和时,和UDP一样,**数据偏移(即首部长度):**占4位,以四字节为单位,
2023-08-19 17:14:47
417
原创 地址解析协议-ARP
如果所要找的主机和源主机不在同一个局域网上,那么就要通过ARP找到一个位于本局域网上的某个路由器的硬件地址,然后把分组发送给这个路由器,让这个路由器把分组转发给下一个网络。剩下的工作就由下一个网络来做,尽管。无论网络层使用何种协议,在实际网络的链路上传输数据帧时,最终必须使用硬件地址。(ARP表,由ARP来动态维护此表)
2023-08-15 21:04:48
2193
原创 由主机的IP地址计算主机所在子网的广播地址(子网划分)
子网掩码是一个与IP地址相对应的、长32bit的二进制串,它由一串1和跟随的一串0组成。其中,1对应于IP地址中的网络号及子网号,而0对应于主机号。计算机只需将IP地址和其对应的子网掩码逐位“与”(逻辑AND运算),就可得出相应子网的网络地址。
2023-08-15 15:49:52
1782
原创 高速以太网
万兆以太网的目标是将以太网从局域网范围(校园网…)扩展到城域网与广域网,成为城域网和广域网的主干网的主流技术之一。保持最短帧长不变,最小帧长为64B,但将一个网段的最大电缆长度减小到。)、灵活的 (多种传输媒体、全/半双工、共享/交换),易**于安装,稳健性好。若MAC帧的长度不足512B,就在MAC帧的尾部填充特殊字符到512B。的工作方式,工作在全双工模式下不使用CSMA/CD协议。,1998年,千兆以太网的标准802.3z称为正式标准。,其中半双工使用CSMA/CD协议,全双工不使用该协议。
2023-08-13 16:24:11
267
原创 信道复用技术
信道划分介质访问控制将使用介质的每个设备与来自同一通信信道上的其他设备的通信隔离开来,多路复用:就是,使多个计算机或终端设备共享信道资源,此技术可以将多个信息整合到一个复用通道中,在接收端将收到的信息分离出来并传输到对应的输出通道。
2023-08-09 16:04:37
1214
原创 卫星图片的Classification_model
Tensorflow版本:2.6.0使用的是CNN神经网络,网络结构在最后给出数据集请点击链接:https://www.kaggle.com/datasets/yo7oyo/lake-plane-binaryclass。
2023-07-12 21:10:20
278
原创 SQL多表查询
多表查询,也称为关联查询,指两个或更多个表一起完成查询操作。前提条件:这些一起查询的表之间是有关系的(一对一、一对多),它们之间一定是有关联字段,这个关联字段可能建立了外键,也可能没有建立外键。比如:员工表和部门表,这两个表依靠“部门编号”进行关联。
2023-07-10 16:00:18
4697
原创 SQl排序与分页
在不同的 DBMS 中使用的关键字可能不同。需要说明的是,这条语句是先取出来前 5 条数据行,然后再按照 hp_max 从高到低的顺序进行排序。但这样产生的结果和上述方法的并不一样。这样的好处就是 SELECT 不需要扫描完整的表,只需要检索到一条符合条件的记录即可返回。”,意思是获取从第5条记录开始后面的3条记录,和“LIMIT 4,3;背景1:查询返回的记录太多了,查看起来很不方便,怎么样能够实现分页查询呢?所谓分页显示,就是将数据库中的结果集,一段一段显示出来需要的条件。得到与上述方法一致的结果。
2023-07-09 13:32:11
522
原创 Mysql 笔记
此处我的mysql名字为MySQL(默认为mysql80)--> 查询表结构 //desc tb_user。--> 查询指定表的建表语句(详细信息);需要在管理员模式下打开命令提示符(cmd)–> 查询[当前数据库]所有的表。2.使用命令进入mysql服务。--> 切换到需要的数据库;--> 查询当前数据库。–> 查询所有数据库。
2023-07-08 11:27:23
467
原创 Django学习笔记
使用Django时使用python3.9创建app时没有响应**使用如下指令:`python manage.py startapp app名字`
2023-07-07 16:54:58
1153
原创 LeetCode 不同路径1\2
此题就是在第一个题目的基础上加入了一个障碍物,因此我们可以继续模仿第一题的思路解题。因此和第一题的初始化有差别,当遇到障碍物时直接退出循环。走一步 因此这个矩形的第一行和第一列都可以初始化为1。我们可以知道障碍物的地方不能走,因此其状态就是 0。一条路走到黑,如果中间有障碍物,那么就无法继续走。那么这个题的剩余部分就和第一题一模一样了。没错就是我们的杨辉三角。本文的题目和图片均来自LeetCode。然后我们就可以得到动态规划的方程。对不同路径最初始的问题举个例子。因为我们的机器人只能。
2023-05-20 19:13:48
579
原创 绘制混淆矩阵(MatLab/Python)
首先混淆矩阵是机器学习中总结分类模型预测结果的情形分析表,以矩阵形式将数据集中的记录按照真实的类别与分类模型预测的类别判断两个标准进行汇总。其实混淆矩阵就是用来判断我们的算法的分类准确度的一个可视化矩阵。
2023-05-16 19:09:24
9896
1
原创 OpenCv更改颜色空间以及图像阈值
对于 HSV, 色调(Hue)范围为 [0,179], 饱和度(Saturation)范围为 [0,255] ,明亮度(Value)为 [0,255]. 不同的软件使用不同的比例. 所以如果你想用 OpenCV 的值与别的软件的值作对比,你需要归一化这些范围。现在我们知道了如何将 BGR 图片转化为 HSV 图片,我们可以使用它去提取彩色对象。HSV 比 BGR 在颜色空间上更容易表示颜色。参考:opencv4.0 中文文档以及英文文档。其他的可以前往官方文档中查看。其他阈值法请查看文档。
2023-05-10 21:24:31
1226
原创 OpenCv 图像的算数运算
这也是将图像相加,但是对图像赋予不同的权重,从而给出混合感或透明感。参数中的img1 和 img2 应该是相同的深度和类型, 或者第二个图像可以是像素值。可以注意到,如果二者的和大于最大像素值255那么opencv会将其自动置为255.但是这个函数也是只能用两张相同大小的图片进行混合。下面的代码表示将一个小的图片混合到大图片当中。主要思想来自 opencv 中文文档。函数就是普通的像素值相加。
2023-05-09 15:07:41
432
原创 CV入门--图像的读取
1.读取图像path:图像存储的路径,(绝对路径或相对路径)概念传送门flag: 包含三个参数:加载彩色图像,任何图像的透明度都会被忽略,它是默认标志:以灰度模式加载图像:加载图像,包括 alpha 通道(实现图像透明的效果)传送门以上三个参数均不需要直接填写分别使用代替: 执行函数cv2.imshow时会弹出一个窗口 这个就是窗口的名字img: 就是图片对象。
2023-04-26 20:19:22
193
原创 KMeans 算法的实现
首先,KMeans是什么呢?KMeans算法是聚类(cluster)算法中的一种非常经典的算法KMeans的具体实现过程导入数据集,并设置簇的个数!随机设置聚类中心 \(C_i = {C_1, C_2 ... C_n}\)遍历所有的样本,并分别计算样本到每一个聚类中心的距离,将样本距中心距离最小的样本加入到相应的聚类中心遍历完所有的样本点后 计算每个簇的平均值作为新的聚类中心 ...
2023-04-06 19:42:00
138
原创 单层神经网络(练习
这个练习是基于鸢尾花数据集的单层神经网络。主要使用梯度下降法来得到训练这个数据集的损失值和精确度Whole Code:运行结果
2022-06-17 10:13:51
272
原创 数据结构——排序
所谓排序就是要整理表中的元素, 使之按照关键字递增或递减有序排列。如果关键字相同的两个元素,在排序后的相对位置不发生改变那么就称这个这个排序的算法是稳定的,反之则不稳定。可以参考动态变换那么就可以得到代码折半插入排序代码如下:希尔排序希尔排序是将待排序的数组元素 按下标的一定增量分组 ,分成多个子序列,然后对各个子序列进行直接插入排序算法排序;然后依次缩减增量再进行排序,直到增量为1时,进行最后一次直接插入排序,排序结束。代码如下:冒泡排序代码如下:快速排序代码如下:简
2022-06-14 17:31:48
165
原创 数据结构——查找
在一些(有序的/无序的)数据元素中,通过一定的方法找出与给定关键字相同的数据元素的过程叫做查找。也就是根据给定的某个值,在查找表中确定一个关键字等于给定值的记录或数据元素。......
2022-06-14 12:00:31
713
原创 数据结构——树
1. 树的定义树是一种数据结构,它是由n(n≥0)个有限节点组成一个具有层次关系的集合。把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。它具有以下的特点:其中有一些比较重要的公式以上就是树的一些基本概念和关键字了Attention:中序遍历:主要方式为: 后序遍历:主要方式为: 为了帮助理解特地献上一份 文章 点击跳转并查集直接上代码hhh感谢你的阅读............
2022-06-02 20:42:26
160
原创 潜水员 --二维费用背包问题
题目链接 -----> 潜水员这个题目一开始看得我匪夷所思这个题目也可以是看做,有条件的二维费用背包问题 吧条件如下1.氧气至少为 m2.氮气至少为 n3.所用的气缸的体积要尽可能的小从上述的条件中 存在 至少这个字眼 那么这个问题要如何解决呢因为存在至少所以肯定存在某种情况使得这个气缸中的气体的体积大于所需要的气体的体积,那我们怎么做呢?这个时候就要用到 y总说的了: 用0来代替体积为负数的情况因为 当这个体积是 负数的时候说明此时的气体已经够用了,所以我们可以直接用*
2022-05-16 17:45:06
270
原创 洛谷P4017 最大食物链计数 --- 拓扑排序
题目直达 ——> 最大食物链计数一开始以为是 并查集 当我写了一半才发现是要一整条链, 所以就想到了 拓扑排序 😦Before anything else:什么是拓扑排序?那么咱就来说一下对一个有向无环图(Directed Acyclic Graph简称DAG)G进行拓扑排序,是将G中所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若边<u,v>∈E(G),则u在线性序列中出现在v之前。通常,这样的线性序列称为满足拓扑次序(Topological Order)的序列
2022-05-15 21:21:45
595
原创 洛谷 P3916 图的遍历 -- 反向存图 + dfs暴力求解
题目直达 ----》 图的遍历这个题主要是采用反向存图的操作;然后使用DFS进行遍历整个图即可如果当前图已经遍历过了就return否则就继续遍历将答案存入数组res中就可以了#include <iostream>#include <cstring>#include <algorithm>#include <vector>using namespace std;const int N = 100010;vector<int>m
2022-05-15 20:33:53
219
原创 洛谷 P1164 小A点菜 --背包问题求方案数
这个题目主要考察背包问题求方案数题目链接 ----》 小A点菜由于所有的菜品都只能够选一次 所以这就是一个朴素无华的01背包其实这是一个很好的摸板题首先我们知道 01背包的一般动态规划方程f[i][j] = max(f[i - 1][j], f[i - 1][j - 1])由于 i 是线性的所以我们可以优化到f[j] = max(f[j], f[j - 1])那么这个题其实就是 01背包求方案数因为每次得到的 max 中的是当前的 V 可以装下多少的 物品M那么我们转换一下,假设不要钱
2022-05-15 18:49:20
328
原创 洛谷 P1464 Function -- 记忆化搜索
这个题采用了记忆化搜索(Memory search)topic’s Link ----》 FunctionFirstly:了解一下记忆化搜索:记忆化搜索是一种通过记录已经遍历过的状态的信息,从而避免对同一状态重复遍历的搜索实现方式。其中从而避免对同一状态重复遍历的搜索实现方式这个一个特点在本题体现在if(dp[a][b][c] != -1; return dp[a][b][c]其实就是当这个点被搜到了,然后你发现这个点其实已经被搜索过了,就直接返回他的值,从而就避免了被重复搜索。注意: 因为
2022-05-15 18:29:01
354
原创 洛谷 P1002 [NOIP2002 普及组] 过河卒 动态规划
题目链接 ----> 过河卒这个题考察的是动态规划卒行走的规则:可以向下、或者向右这是题目给出的提示,根据这个我们就可以得到这个题目的状态转移方程为:f[i][j] = f[i - 1][j] +f[i][j - 1]这个表示的就是一共有多少种情况走到(i, j)这个点比如说:给定一个点A:(a,b)那么就有俩个方向(往下走到A点和往右走走到A点)能够走到A:(a, b)这个点的位置;因此上面的状态转移方程是成立的然后题目又说 马会拦住卒的去路,所以 马 能去的地方都是要标记的(就是兵不
2022-05-15 17:35:01
392
原创 信息学奥赛一本通--城堡问题
这题其实很简单原题链接 --------------》 点击我折磨自己这个题目搞就搞在他给你的输入让你摸不着头脑;就拿11来说吧,因为11可以分解成11 = 8 + 2 + 1也就是说在这个位置的west,northandsouth都有墙也就是说他是这样子的 wallwall 空间 wall就是这样子的我们将11转换为二进制后会发现 (11)2(11)_2(11)2 ----> 1101 是不是很神奇然后我们将整个东北西南方向写成dx[] = {0, -1
2022-05-12 21:01:15
212
原创 Kruskal算法求解最小生成树
Kruskal 算法的思路还是非常的简单的先将所有的边都用一个结构体存起来经所有的边按照权重排序即可(因为我们要求的其实就是极小连通子图,所以我们排序后可以直接对边进行连接即可,因为我们将所有的点都放入集合后,得到的边权之和一定是最小的)最后就是函数内部实现,既然我们谈到了 集合中,那么如何判断这个点是否在集合内部呢? 这是我们就可以使用并查集这个算法了。//并查集int find(int x){ if(x != p[x]) return p[x] = find(p[x]);//路径压缩
2022-05-10 20:54:44
251
深度学习、卷积神经网络(CNN),识别fashion-mnist数据集,使用Tensorflow2.6
2023-07-12
深度学习,多层感知器,简单的多目标预测模型
2023-07-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人