分量 算法 笔记tarjan

软构学习笔记-工厂模式

三个工厂模式方法 Introduction 工厂模式属于设计模式中创造型模式的一种。 它提供了一种创建对象的方式,将创建对象的过程作了优秀的封装。 使得创建对象的创建逻辑不会暴露给客户端,而是通过接口来进行对象的创建。 简单工厂模式 定义: 定义一个工厂类,根据传入的参数不同返回不同类型的实例,被创 ......
工厂 模式 笔记

人月神话阅读笔记1

第一章:需求的难题 本章主要讲述了软件开发中需求的难题,探讨了需求不明确、需求变更等问题对项目开发带来的影响和挑战。弗雷德里克·布鲁克斯指出,需求是软件工程中一个不可避免的难题,但其重要性却常常被忽略。 在项目开发前必须要明确所有关键的需求,并且发现需求变化的风险。如果没有做到这些,开发过程中就会出 ......
神话 笔记

多项式学习笔记

符号与约定 若无特殊说明,多项式的大小均默认为 $n=2^k$。 我们定义 $[x^i]F(x)$ 表示 $F(x)$ 的第 $i$ 项系数,其中 $F(x)$ 为多项式。那么有 $F(x)=\displaystyle\sum_{i=0}^{n-1}[x^i]F(x)\cdot x^i$。 我们使用 ......
多项式 笔记

快速幂算法

对于计算比较大的幂的结果时可以采用快速幂来降低时间复杂度 例如求K的n次幂 int Pow(int K, int n) { for (int i = 0; i < n; i++) K *= K; return K; } 最朴素的思想就是直接n次循环,让K自乘n次,但是随着n的增加循环次数会越来越多, ......
算法

排序算法-基数排序

基数排序Radix Sort 1. Radix Sort介绍 Radix Sort属于“分配式排序”(Distribution Sort),又称“桶子法”(Bucket Sort),其是通过比较待排序序列的所有元素的各个位的值,将元素分配至“桶”中,以达到排序的目的。Radix Sort是一种效率较 ......
基数 算法

初次排序算法学习

直接选择排序: 思路:从数组中挑出最小(最大)的数,与数组第一位(最后一位)交换位置,然后依次进行,直到最后两个元素比较完毕为止。 实现: 声明一个中间变量max,用于存放最大值;声明一个变量m,用于存放最大值对应的序号。 外侧循环次数是n-1,n是数组元素个数,意思是挑出n-1个最大值,剩下的自然 ......
算法

0001笔记【并行计算】CUDA在现代C++中如何运用?看这一个就够了

SM(流多处理器)和板块(block) 一个板块会被调度到一个SM上,直到执行结束 一个block一旦被调度到某个SM上,就会一直执行,直到执行结束(gpu不存在时间片轮转),好处是不需要像cpu一样切换上下文,就也不需要保存寄存器和共享内存的开销 一个block里的一个线程,则是被调度到一个SP上 ......
笔记 0001 CUDA

读书笔记

1、可靠的开发软件,并让我们的开发更易于理解和维护的唯一途径,是遵循我们称之为 DRY 的原则:系统中的每一项都必须具有单一、无歧义、权威的表示。 DRY 是 Dont’t Repeat Yourself 的缩写。 2、重复的产生通常有以下种类: 强加的重复。开发者觉得他们无可选择,其实是有一些方法 ......
笔记

typescript装饰器(decorator)笔记

介绍: 随着TypeScript和ES6里引入了类,在一些场景下我们需要额外的特性来支持标注或修改类及其成员。 装饰器(Decorators)为我们在类的声明及成员上通过元编程语法添加标注提供了一种方式。 Javascript里的装饰器目前处在建议征集的第三阶段,但在TypeScript里已做为一项 ......
typescript decorator 笔记

基于决策树算法的病例类型诊断matlab仿真

1.算法仿真效果 matlab2022a仿真结果如下: 2.算法涉及理论知识概要 ID3算法是一种贪心算法,用来构造决策树。ID3算法起源于概念学习系统(CLS),以信息熵的下降速度为选取测试属性的标准,即在每个节点选取还尚未被用来划分的具有最高信息增益的属性作为划分标准,然后继续这个过程,直到生成 ......
病例 算法 类型 matlab

实际问题中用到的算法——递归算法确定插帧顺序

问题: 现在需要给一个视频序列插帧,插帧算法要求每次只能由两帧输入插值得到其中间帧。如果现在需要给一个视频做 4 倍(或者更高的 8,16 倍等类似)的插帧,则一个插帧的思路是当前视频每相邻帧之间插入 3 帧,即:假设插帧前视频帧序号是 0,4,8,12…,则插帧时补充相邻帧跨过的 3 个序号,得到 ......
算法 中用 顺序 实际 问题

基于GOA蚱蜢优化算法的KNN分类器最优特征选择matlab仿真

1.算法仿真效果 matlab2022a仿真结果如下: 2.算法涉及理论知识概要 蝗 虫 优 化 算 法 ( Grasshopper Optimization Algorithm, GOA) 是一种新型的元启发式算法,由 Mirjalili 等人于2017年提出。该算法受幼虫和成年蝗虫大范围移动与寻 ......
蚱蜢 算法 特征 matlab GOA

高等数学笔记一

数学基础知识 数据科学需要一定的数学基础,但仅仅做应用的话,如果时间不多,不用学太深,了解基本公式即可,遇到问题再查吧。 以下是以前考研考博时候的数学笔记,难度应该在本科3年级左右。 高等数学 1.导数定义: 导数和微分的概念 $f'({{x}{0}})=\underset{\Delta x\to ......
数学 笔记

Java开发笔记15(树的列表查询)

1. Controller: /** * 通过id查询树列表 * @param id */@GetMapping("/listById")private Result listByParentId(String id) { String stationTelecode = getStation(ge ......
笔记 Java

查看 WINDOWS 11 笔记本电池容量方法

大多人都有笔记本续航焦虑,随着笔记本的使用时间,电池容量也会有损耗。如果你想知道笔记本电池还剩余多少容量,可以通过用管理员身份运行终端,然后输入下面的命令: powercfg /batteryreport /output "C:\battery.html" 回车命令后,就会在 C 盘根目录生成 ba ......
容量 电池 WINDOWS 笔记本 笔记

Java开发笔记14(递归查询树的层级)

/** * 根据id查询树节点层级(0、1、2...) * @param id 主键id,code * @return 该树节点的层级 */ @Overridepublic Integer findLevelById(String id, String stationTelecode) { coun ......
层级 笔记 Java

代码大全阅读笔记1

第 5 章:软件构建中的设计 5.1 设计中的挑战 设计是一个险恶的问题; 设计是个了无章法的过程 => 直到你没时间做了为止。 设计就是确定取舍和调整顺序的过程。 设计受诸多限制。 设计是不确定的。 设计是一个启发式过程。 设计是自然而然形成的。 几乎所有的系统都在其开发的起始阶段经历某种程度的设 ......
代码 笔记 大全

SpringBoot学习笔记

一、Springboot 简介 目的:设计目的是用来简化Spring应用的初始搭建以及开发过程 Spring程序和SpringBoot程序对比 SpringBoot项目快速启动 对SpringBoot项目打包(执行Maven构建指令package) 执行启动命令(cmd中) java -jar sp ......
SpringBoot 笔记

微信小程序开发学习笔记(一)——概要、安装开发环境与第一个小程序

一、概要 小程序是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或者搜一下即可打开应用。也体现了“用完即走”的理念,用户不用关心是否安装太多应用的问题。应用将无处不在,随时可用,但又无需安装卸载。 微信小程序是腾讯于2017年1月9日推出的一种不需要下载安装即可在微信平 ......
概要 环境 笔记 程序

密码引擎-4-国䀄算法交叉测试

实验一 密码引擎-4-国䀄算法交叉测试 0 2人一组,创建一个文件,文件名为小组成员学号,内容为小组成员学号和姓名 1 在Ubuntu中使用OpenSSL用SM4算法加密上述文件,然后用龙脉eKey解密,提交代码和运行结果截图 2 在Ubuntu中基于OpenSSL产生一对公私钥对(SM2算法) 在 ......
算法 密码 引擎

实验一 密码引擎-4-国䀄算法交叉测试

任务详情 0 2人一组,创建一个文件,文件名为小组成员学号,内容为小组成员学号和姓名 1 在Ubuntu中使用OpenSSL用SM4算法加密上述文件,然后用龙脉eKey解密,提交代码和运行结果截图 2 在Ubuntu中基于OpenSSL产生一对公私钥对(SM2算法) 3 在Ubuntu中使用Open ......
算法 密码 引擎

实验一 密码引擎-4-国䀄算法交叉测试

实验一 密码引擎-4-国䀄算法交叉测试 1 在Ubuntu中使用OpenSSL用SM4算法加密上述文件,然后用龙脉eKey解密,提交代码和运行结果截图 2 在Ubuntu中基于OpenSSL产生一对公私钥对(SM2算法) 3.在Ubuntu中使用OpenSSL用SM3算法计算上述文件的Hash值,然 ......
算法 密码 引擎

实验一 密码引擎-4-国䀄算法交叉测试

实验一 密码引擎-4-国䀄算法交叉测试 0 2人一组,创建一个文件,文件名为小组成员学号,内容为小组成员学号和姓名 1 在Ubuntu中使用OpenSSL用SM4算法加密上述文件,然后用龙脉eKey解密,提交代码和运行结果截图 使用openssl用sm4算法加密文件 openssl enc -sm4 ......
算法 密码 引擎

实验一 密码引擎-4-国䀄算法交叉测试

任务详情 0 2人一组,创建一个文件,文件名为小组成员学号,内容为小组成员学号和姓名 1 在Ubuntu中使用OpenSSL用SM4算法加密上述文件,然后用龙脉eKey解密,提交代码和运行结果截图 2 在Ubuntu中基于OpenSSL产生一对公私钥对(SM2算法) 3 在Ubuntu中使用Open ......
算法 密码 引擎

实验一 密码引擎-4-国䀄算法交叉测试

#实验一 密码引擎-4-国䀄算法交叉测试 目录 1 在Ubuntu中使用OpenSSL用SM4算法加密上述文件,然后用龙脉eKey解密,提交代码和运行结果截图 2 在Ubuntu中基于OpenSSL产生一对公私钥对(SM2算法) 2.1 创建EC参数和原始私钥文件 2.2 将原始的私钥文件,转换为p ......
算法 密码 引擎

学习记录:第四周day02笔记

文件的分类 文本文件:是人能看懂的文件,存储的是字符符号的ASCII码的二进制 二进制文件:存储的是数据的补码的二进制 文件IO FILE *fopen(const char *path, const char *mode); 功能:打开或创建文件 参数: path:文件的路径,以字符串形式提供 m ......
笔记 day 02

学习记录:第四周day01笔记

结构: 结构是由程序员自己设计的一种数据类型,用于描述一种事务的各项数据,由若干个不同的基础类型组成 设计: struct 结构体类型名 { 类型名 成员名 ... }; 定义: struct 结构体类型名 结构体变量名; 注意:C语言中定义结构体变量时,struct关键字不能省 初始化: stru ......
笔记 day 01

实验一 密码引擎-4-国䀄算法交叉测试--20201313徐嘉远和20201305焦腾辉

#任务详情 0 2人一组,创建一个文件,文件名为小组成员学号,内容为小组成员学号和姓名 1 在Ubuntu中使用OpenSSL用SM4算法加密上述文件,然后用龙脉eKey解密,提交代码和运行结果截图 2 在Ubuntu中基于OpenSSL产生一对公私钥对(SM2算法) 3 在Ubuntu中使用Ope ......
算法 20201313 20201305 密码 引擎

学习记录:第二周day04笔记

五子棋 数据分析: 1、定义棋盘二维数组 2、定义角色变量(1?2?) '@'黑棋 '$'白棋 '*'空 3、定义变量 用于记录输入的落子位置 逻辑分析: 考虑是否需要初始化棋盘 for(;;) { 1、清屏、打印棋盘 2、落子 判断是否超范围 如果是则提示非法并重新落子 判断是是否已有,如果则提示 ......
笔记 day 04

学习记录:第二周day05笔记

一、什么是指针 指针是一种特殊的数据类型,使用它可以定义指针变量,指针变量中存储的是整型数据,该数据代表了内存的编号(地址),可以通过这个编号访问到对应的内存 二、为什么要使用指针 1、函数之间内存是相互独立的,但有时候需要函数之间共享变量 普通传参是单向值传递 全局变量容易命名冲突 使用数组还需要 ......
笔记 day 05