草庐IT

第二十一章 Prim算法与Kruskal算法(通俗证明与详细讲解)

第二十一章Prim算法与Kruskal算法一、最小生成树二、prim算法1、算法思路2、算法模板(1)问题(2)模板(3)分析4、常见疑惑(1)与dijkstra算法的区别以及循环次数问题:(2)正确性证明:三、kruskal算法1、算法用途2、算法思想3、正确性证明(1)为什么构成环的边不是最小生成树中的边?(2)为什么不构成环的边就一定是最小生成树的边?4、代码实现思路5、模板(1)问题:(2)代码:(3)分析:一、最小生成树我们先解释一下什么是最小生成树。这个概念是基于图的,如果说存在一条路线串通起来了所有的点,那么这条路线就叫做生成树。而在这些路线中最短的那一条就叫做最小生成树。如上图

线代学习笔记(一)——线性代数的通俗理解

线性代数通俗理解本篇笔记内容主要来源于45分钟线性代数通俗讲解_哔哩哔哩_bilibili,非常感谢up主的分享,这里我加入了部分自己的理解,与自己所学的知识结合完成。基础概念数据的维度:即数据含有参数的个数,描述一个对象所需要的参数个数,这样一组数据构成一个多维数据,如一个空间坐标(1,2),一个空间向量[1,2,3]。对线性的理解:线性即均匀分布,对加法有意义,如数轴上的数。线性函数的特点输入值均匀排列,输出值均匀排列,在线性代数里,线性函数是一个线性映射,输入与输出在相同域的向量空间上维持向量加法与标量乘法。线性代数中,线性变换处理的输入输出数据维度是任意的(与初级代数最明显的区别)。在

通俗易懂web3.0

目录前言一、WEB1.0二、WEB2.0三、WEB3.0区别最后前言大家好,我是清风。互联网连接了人与人,在过去的30年中,互联网技术不断进化、演化,向纵深发展,政治、经济、社交、生活、工作已经几乎离不开互联网。我们经历了WEB1.0,WEB2.0,以及现在的WEB3.0,我们都知道现在已经发展到了5G网络,而WEB也要向前发展,WEB3.0可以理解为WEB2.0的升级版本,在互联网的发展过程中,可以将其分为3个时代,下面我们分别介绍一、WEB1.0Web1.0时代,在上世纪90年代,属于互联网刚刚开始的阶段,各种技术以及人们的思维还没有到位,所以互联网还主要是信息发布和获取渠道,也有人称其为

Java导出PDF(itextpdf)-通俗易懂

文章目录前言一、itextpdf是什么?二、快速开始1.废话不多说,效果先上一波2.依赖引入3.模版加载3.1模版加载工具类PDF4.PDF操作工具类方法5.完整代码5.1前端代码-Vue5.2控制层代码5.3业务层代码5.4PDF工具类完整代码总结前言在java开发的过程中会遇到太多太多文档pdf导出,excle导出等业务场景,时隔三个月或半年来一次每一次遇到这样的业务场景对我都是非常痛苦的过程,本文旨在记录工具类使用方法和技术分享。一、itextpdf是什么?itextpdf是一个开源的Java库,用于创建和操作PDF文档。使用itextpdf,您可以创建新的PDF文档或修改现有文档,添加

【C语言链表实现】学生成绩管理系统(功能全面,通俗易懂)

学生成绩管理系统1.问题描述2.概要设计2.1系统主要执行逻辑2.2函数调用关系3.函数实现3.1头文件3.2核心数据结构设计3.3密码登录3.4界面菜单3.5保存学生信息3.6读取学生信息3.7录入学生信息3.8增加学生信息3.9删除学生信息3.10修改学生信息3.11显示学生信息3.12单科成绩排名3.13查询某学生各科成绩3.14不及格科目超过2科的学生名单4.主函数实现5.遇到的问题及解决方法6.程序具体实现1.问题描述题目:学生成绩管理程序要求:本程序用于教学单位(院/系)的学生成绩管理。要求程序能够实现学生信息录入(可以实现增加、删除、修改学生的基本信息)、单科学习成绩的录入;班级

通俗易懂讲解CPU、GPU、FPGA的特点

1.CPUvsGPU  大家可以简单的将CPU理解为学识渊博的教授,什么都精通;而GPU则是一堆小学生,只会简单的算数运算。可即使教授再神通广大,也不能一秒钟内计算出500次加减法。因此,对简单重复的计算来说,单单一个教授敌不过数量众多的小学生。在进行简单的算数运算这件事上,500个小学生(并发)可以轻而易举打败教授。  可以看到,CPU和GPU的最大不同在于架构。CPU适用于广泛的应用场景(学识渊博),可以执行任意程序;而GPU则专为多任务而生,并发能力强。  具体来讲,就是多核,一般的CPU有2核、4核、8核等;而GPU则可能会有成百上千核  GPU构造与CPU相似,包含控制单元(cont

随机梯度下降算法 入门介绍(最通俗易懂)

文章目录1.什么是梯度2.什么是梯度下降算法3.什么是随机梯度下降算法1.什么是梯度首先给出高数课程中梯度的定义:如果对上面的定义没有理解也没有关系,用通俗的语言来说,梯度实际上就是一个向量,向量中的各个元素表示多元函数在某一个点对于其中一个自变量的偏导数。例如,给出一个函数:f(x)=ln(x²+y²+z²),求出该函数在点(1,2,-2)处的梯度,计算过程如下:计算在该点处函数f(x)对于变量x、y、z的偏导数。计算出的结果分别为2/9,4/9和-4/9。对偏导数进行拼接,所以该函数在该点的梯度为(2/9,4/9,-4/9)。2.什么是梯度下降算法梯度下降算法是一种对损失函数进行优化来得到

通俗易懂---IP与Mac的联系与区别

前言:最近在做一个远端获取Mac地址的项目,心血来潮又想着把网络方面的知识做一下回顾,这几天在整理一下交换机路由等相关的知识做个总结。加油,大家一起进步。话不多说,进入正题!!!IP地址:IP地址是因特网上的主机和路由器所使用的地址,用于标识两部分信息:网络编号:标识因特网上数以百计的网络。主机编号:标识同一网络上不同主机(或路由器的各个接口)。如图,处在同一网络中的各个主机和路由器的IP地址前三个数是相同的,最后一个数字不同。这就是为了标识同一网络中的不同主机。网络体系图:IP地址被封装在网络层数据报的首部,而MAC地址被封装在数据链路层数据报的首部。数据报转发:数据包转发过程中,假想网络层

最通俗易懂的OSPF五种报文+七种状态

OSPF是什么?OSPF,OpenShortestPathFirst,一种链路状态路由协议,更是一种内部网关协议(如下图),封装在IP报文中,协议号为89。简单的理解,部署了该协议的网络会周期性收集拓扑和路由的所有信息,然后计算出到达目的网段的最短路径,并且通过周期更新机制实时监控网络的变化。   按区域自治与否,可分为:IGP(AS内部)、EGP(AS与AS之间)   按路由算法,可分为:   ①链路状态路由协议   ②距离矢量路由协议   IGP:工作在AS内,周期更新,收集运行了该协议的路由信息并实时监控网络的变化(如OSPF、ISIS、RIP);   EGP:工作在AS之间,不存在周期

JVM原理:JVM运行时内存模型(通俗易懂)

目录前言正文虚拟机栈局部变量表操作数栈动态链接方法返回地址本地方法栈本地方法存在的意义本地方法的调用虚拟机堆堆结构Eden区Survivor区域老年代Old区常用参数指令方法区常量池运行时常量池方法信息类信息域信息JDK1.7前的方法区JDK1.7时的方法区JDK1.7后的方法区程序计数器总结前言做了几年开发,平时除了写代码造BUG和修复BUG之外,偶尔也会遇到反馈说程序较慢问题,要对程序性能排查与优化就得更深入学习,学习JVM可以帮助我们加深对JAVA的理解,让我们具备一定的性能排查与调优的能力,无非就是让程序别太卡或者别挂了,那挂了目前我遇到的主要是内存泄漏后导致OOM,或者内存分配不当,