查找最小生成树:普里姆算法算法(Prim)算法
一、算法介绍 普里姆算法(Prim's algorithm),图论中的一种算法,可在加权连通图里搜索最小生成树。意即由此算法搜索到的边子集所构成的树中,不但包括了连通图里的所有顶点,且其所有边的权值之和亦为最小。像 Kruskal算法一样,Prim算法也是贪婪算法。 二、Prim算法思想 Prim算法的思想很简单,一棵生成树意味着必须连接所有顶点。因此必须将两个不相交的顶点子集连接起来才能生成生成树 。并且它们必须以最小的权重边连接,以使其成为最小的生成树(MST)。它从一棵空的生成树
hexo + github 搭建一个自己的网页博客
看到一个非常详细的搭建过程,人家写的博客,https://www.cnblogs.com/fengxiongZz/p/7707219.html 之前想写没写的东西,现在补充一下吧。删除文章,添加到随笔了。 上述的博客大概分为三个阶段:(弄清楚这个步骤和整个大方向,就很容易搭建了。至于其中会遇到的一些什么奇葩问题,我是不太清楚,因为没有遇到过) 1.github网页这边 在github上创建自己的账号,然后创建一个仓库(repository)【仓库的名字为:自己的账号名相同.io) 】
59 django forms组件与一些补充
目录 一、多对多的三种创建方式 1. 全自动 2. 纯手撸(了解) 3. 半自动(强烈推荐) 二、forms组件 1. 如何使用forms组件 2. 使用forms组件校验数据 3. 使用forms组件渲染标签 4. 使用forms组件展示信息 5. 校验数据参数 5.1 报错信息修改:error_messages 5.2 正则校验器:RegexValidator 5.3 给input框设置样式及属性:widget 5.4 input框默认值:initial 5.5 控制字段是否必填:requ
11位手机号正则表达式 邮箱正则表达式
11位手机号正则表达式 邮箱正则表达式 正则表达式细究起来真的是好复杂的一个东西,想想要表达那么多种筛选规则...简直恐怖 但是其实对于大多数人来说,用的比较少, 列两个简单的验证正则: 11位手机号 // 手机号
let phoneRe = /^1(3|4|5|6|7|8|9)\d{9}$/; 邮箱 // 邮箱正则表达式
let emailRe = /^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|
数据降维-NMF非负矩阵分解
1.什么是非负矩阵分解? NMF的基本思想可以简单描述为:对于任意给定的一个非负矩阵V,NMF算法能够寻找到一个非负矩阵W和一个非负矩阵H,使得满足 ,从而将一个非负的矩阵分解为左右两个非负矩阵的乘积。如下图所示,其中要求分解后的矩阵H和W都必须是非负矩阵。 分解前后可理解为:原始矩阵的列向量是对左矩阵中所有列向量的加权和,而权重系数就是右矩阵对应列向量的元素,故称为基矩阵,为系数矩阵。一般情况下的选择要比小,即满足,这时用系数矩阵代替原始矩阵,就可以实现对原始矩阵进行降维,得到数据特征的降维
Mybatis 入门 (二)
1. Mapper配置文件处理特殊字符 用 > 和 &It; 代替 > 和 < 2. 延迟加载 单表查询性能比多表关联查询要高得多,即先查询单表,如果需要关联多表时再进行查询 <!-- 全局配置参数 -->
<settings>
<!-- 延迟加载总开关 -->
<setting name="lazyLoadingEnabled" value="true" />
<!-- 设置按需加载 -->
<setting name="aggressiveLazy
ffmpeg——提取h264
总体思路 从mp4文件中取出需要的video流,从流中取包,写入新的h264文件。 /*
* 对于音频:
* 音频每一帧都有帧首部,包含码率等信息。
*
* 对于视频:
* start code: 用于确定一帧的开始
* SPS/PPS: 确定分辨率,由于每帧的分辨率可能不同,所以每关键帧数据都应该有SPS和PPS
* codec->extradata: 用于获取SPS/PPS
*
* 所以提取流数据时,除了多媒体数据本身,
JS高阶---进程与线程
【大纲】 二级大纲: 三级大纲: 【主体】 (1)进程process 如下所示,两者内存空间相互独立 (2)线程thread (3)图解 注意:有的程序是多进程的,有的时单进程的 (4)单线程与多线程 1、如果一个进程只包含一个线程,那么它就是单线程的
2、如果一个进程有多个线程,那么它就是多线程的 如下所示,如果一个程序有两个进程,每个进程单独对应一个线程,那么它依然是单线程。 (5)其他相关知识 (6)其他问题 现在移动设备双核或者多核,在同一时间点内可以同时做两件或多件事情 JS是单线程
ORM查询优化AJAX
目录 ORM查询优化 only于defer select_related()与prefetch_related() MTV与MVC模型 choices参数 Ajax简介 Ajax基本语法结构 前后端传输数据编码格式 ajax如何传输json格数数据 序列化 ORM查询优化 only于defer '''
only():括号内字符字段名,查询结果为返回列表套一个个数据对象
若想获取该字段的值时,将不会再进行数据库查询
若获取的字段值不是括号内的字段名,则获取时
【xmind】 使用 Java 生成思维导图
前言 在日常的工作与学习中,我们经常会使用思维导图这个工具,来把抽象而又无形的思考转换成有形并且具体的图像,是理清思路,梳理逻辑的一大神器。 准确的说,思维导图并不是一个具体的工具,而是一种方法。是道而不是术。实际落地时,我们通常还需要借助外部的工具。从最原始的纸和笔,到各种软件,可以说是应用尽有。目前我在使用的是 xmind 这款软件,下面就会以 xmind 为媒介间接的通过 Java 代码画思维导图。 放码过来 通过目录生成思维导图 我在看书的时候有一个习惯,先通过思维导图画出一本书的大纲
cookie,sessionstorage,localstorage区别
***cookie,sessionstorage,localstorage** 他们都是保存在浏览器端的,session是保存在服务器端的,cookie只能保存4k左右的数据,sessionstorage和localstorage能保存5m左右数据,他们的生命周期也不一样,cookie可以设置过期时间,只要超过有效期,浏览器就会自动清除,localstorage存的数据是永久的,除非手动删除,sessionstorage存的是临时数据,当前浏览器窗口关闭后就会清除,cookie的数据会自动发给
【NX二次开发】开发环境搭建
1.Visual Studio 版本选择,可以按照下面选择。 UG版本 VS版本 NX1847-NX1872版 Visual Studio 2017 Build 19.10.25017 NX12版 Visual Studio 2015 Build 19.00.23026 NX11版 Visual Studio 2013 Build 18.00.21005.1 NX10版 Visual Studio 2012 Update 1 NX9.0版 Visual Studio 2012 Update 1
redis的使用与django缓存配置redis
目录 redis介绍 redis数据库 python使用redis redis介绍 redis VS mysql """
redis: 内存数据库(读写快)、非关系型(操作数据方便)
mysql: 硬盘数据库(数据持久化)、关系型(操作数据间关系)
大量访问的临时数据,才有redis数据库更优
""" redis VS memcache """
redis: 操作字符串、列表、字典、无序集合、有序集合 | 支持数据持久化(数据丢失可以找回、可以将数据同步给mysql) | 高并发支持
mem
8.1.8 解析CONSTANT_String_info入口
8.1.8 解析CONSTANT_String_info入口 要解析类型是CONSTANT_String_info入口的人口,Java虚拟机必须把一个指向内部字符串对象 的引用放置到要被解析的常量池人口数据中去。该字符串对象(java.lang.String类的实例)必须 按照 string_index 项在 CONSTANT_String_info 中指明的 CONSTANT_Utf8_info入口所指定的字符顺序组织。 每一个Java虚拟机必须维护一张内部列表,它列出了所有在运行程序的过程
CF757F Team Rocket Rises Again
题意 建出最短路图(DAG)之后就跟这题一样了。 code: #include<bits/stdc++.h>
using namespace std;
#define int long long
#define pii pair<int,int>
#define mkp make_pair
#define fir first
#define sec second
const int maxn=2*1e5+10;
const int maxm=3*1e5+10;
int n,m,st,ans,c
8.1.7 解析CONSTANT_interfaceMethodref_info入口
8.1.7 解析CONSTANT_interfaceMethodref_info入口 要解析类型为CONSTANT_interfaceMethodref_info的常量池人口,虚拟机首先要解析 class_index项中指定的CONSTANT_Class_info人口。所以,任何在解析CONSTANT_Class_info 过程中可能抛出的错误,在解析CONSTANT_InterfaceMethodref_info过程中都有可能抛出。如果解析CONSTANT_Class_info成功,虚拟机在
jinjia2 for循环二
一、jinjia2中的for循环还包含以下变量,可以用来获取当前遍历的状态 | 变量 | 描述 | 当前迭代的索引(从1开始) | | loop.index() | 当前迭代的索引(从0开始) | | loop.first | 是否是第一次迭代,返回True 或 False | | loop.last | 是否是最后一次迭代,返回True 或 False | loop.length | 序列的长度 | 二、示例:
自定制页面跳转时携带原搜索参数的URL
介绍 django自带反向解析生成URL的功能,目的是避免硬编码,较少代码维护的代价。 前端页面使用模板语法,如:{% url "rbac: request menu_list" %} 后台视图函数使用django组件函数:reverse() 但是,当需要在页面跳转时携带浏览器搜索框中的GET请求的参数时(如,'?page=1'),上述方法就难以满足需求,需要自定制反向生成路由的方法。 这里可以考虑使用django的simple_tag并利用组件QueryDict 前端页面反向生成url 前端
今日推荐
周排行