几何 算法 笔记26

构建之法阅读笔记1

软件=程序+软件工程,程序就是算法和数据结构,而软件工程包括构建管理软件,源代码的管理,软件的设计,对软件质量测试的软件测试,项目管理,以及用户体验和用户界面设计等。程序是软件的基础,而软件工程决定了软件的质量。 软件的本质决定了其特性:复杂性,不可见性,易变性,服从性,非连续性等。 软件工程和计算 ......
笔记

Cadence入门笔记(四):PCB封装制作

新建文件 首先打开allegro,选择新建一个Packge symbol 随后调整一下图纸的单位和边框大小扩展(把调整Extends可以把原点居中放置,原生只在左下角) 为了调用之前设计好的pad文件,需要修改user preferences里的paths路径,将padpath和psmpath路径修 ......
Cadence 笔记 PCB

[学习笔记] CDQ分治

引入 - 分治 分治,就是将讲原问题不断细分直到规模小到能够解决,然后一层层向上合并得到答案的过程。 归并排序 大致思想:把序列拆成左右两部分,分别归并排序,然后使用两个指针按序合并左右部分。 归并求逆序对 归并求逆序对是分治的一个经典例子。 要做的就是在合并过程中计算逆序对对数。 由于合并的是两个 ......
笔记 CDQ

nginx课堂笔记

课堂笔记 内容介绍 nginx 1 、 nginx简介 ( 1 ) 什么是nginx和可以做什么事情 ( 2 ) 正向代理 ( 3 ) 反向代理 ( 4 ) 动静分离 2 、 Nginx的安装 ( 1 ) 在linux系统中安装nginx 3 、 Nginx的常用命令和配置文件 4 、 Nginx配 ......
课堂笔记 课堂 笔记 nginx

树链剖分学习笔记(1)

两大DFS 树链剖分是一个比较简单易懂的算法,其两个基础操作为两次dfs,第一次dfs求出每个节点的父节点($f_{i}$),深度($dep_{i}$),子树大小($size_{i}$),重儿子($son_{i}$)。其中,重儿子是其子节点中字数最大的,所以不难写出第一次dfs的代码: void d ......
笔记

KMP算法

KMP算法思路分析:先得到字串的部分匹配表,使用部分匹配表完成KMP的算法匹配 部分匹配表:利用前缀和后缀完成 移动位数为:已经匹配的字符-对应的部分匹配值 前缀和后缀案例: 前缀和后缀案例2: KMP算法的代码实现案例: ......
算法 KMP

KMP算法

KMP算法 Knuth-Morris-Pratt字符串查找算法(简称为KMP算法)可在一个字符串S内查找一个词W的出现位置。一个词在不匹配时本身就包含足够的信息来确定下一个匹配可能的开始位置,此算法利用这一特性以避免重新检查先前配对的字符。 这个算法由高德纳和沃恩·普拉特在1974年构思,同年詹姆斯 ......
算法 KMP

分布式ID生成-雪花算法(Snowflake)

1 描述 使用原生Java方式生成雪花算法, 雪花算法是推特公司开源的生成唯一ID的算法, 性能更高,可以避免对第三方依赖的使用, 减少耦合 1)能满足高并发分布式系统环境下ID不重复 2)基于时间戳,可以保证基本有序递增,即按照时间趋势递增(有些业务场景对这个有要求) 3)算法本身不依赖第三方的库 ......
分布式 算法 雪花 Snowflake

mongo笔记

1、nosql 优点: 高可扩展 分布式 架构灵活 2、表连接,mongo不支持 database collection 3、服务端 mongod 客户端 mongo 4、创建集合 db.createCollection('集合名称') db.集合名称.drop() 5、更改语句 db.Person ......
笔记 mongo

【笔记】electron + react + antd

electron Electron是一个使用 JavaScript、HTML 和 CSS 构建桌面应用程序的框架。 嵌入 Chromium 和 Node.js 到 二进制的 Electron 允许您保持一个 JavaScript 代码代码库并创建 在Windows上运行的跨平台应用 macOS和Li ......
electron 笔记 react antd

C#初步学习4(个人笔记,基于老赵.Net的视频自学,不喜勿喷)

//此笔记仅针对个人学习而写,会有所缺失的内容,不喜勿喷 初步学习 C#中的类 C#中的类也和java相似 先来创建一个“Student”类 其内“Show”方法并不是静态方法,要创建“Student”的实例来进行调用 通过该实例没有报错,我们可以知道C#类中也有默认写出的空构造方法 现在我们来取消 ......
笔记 个人 视频 Net

SqlSugar 实践笔记

使用 Insertable + ExecuteReturnSnowflakeIdAsync 为Id赋值时Id字段不能自增 数据库为SqlServer2012,实体的Id字段标记IsPrimaryKey = true属性,新增时使用雪花算法创建Id并将其赋值给新增记录,此时数据表Id字段不能设置为自增 ......
SqlSugar 笔记

三十分钟理解:线性插值,双线性插值Bilinear Interpolation算法

https://blog.csdn.net/xbinworld/article/details/65660665 ......

代码随想录算法训练营Day49 动态规划

#代码随想录算法训练营 代码随想录算法训练营Day49 动态规划| 121. 买卖股票的最佳时机 122.买卖股票的最佳时机II 121. 买卖股票的最佳时机 题目链接: 121. 买卖股票的最佳时机 给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的 ......
随想录 训练营 随想 算法 代码

【笔记】C++缺省源

C++竞赛使用缺省源(包括几次迭代的多个功能) 点击查看代码 /* Author: Sean_xzx Right Output! & Accepted! 本题核心: 1. 本题步骤: 1. */ #include <bits/stdc++.h> #define rep(i, a, b) for(in ......
笔记

后缀数组SA学习笔记

洛谷模板题 题意:读入一个长度为 $ n $ 的由大小写英文字母或数字组成的字符串,请把这个字符串的所有非空后缀按字典序(用 ASCII 数值比较)从小到大排序,然后按顺序输出后缀的第一个字符在原串中的位置。位置编号为 $ 1 $ 到 $ n $。其中$1\le n \le 10^6$ 讲解清楚,码 ......
数组 后缀 笔记

算法学习

算法 排序 选择 找到最小的index,然后再交换 冒泡 一直在换位置 冒泡从小到大, 但是不断的找最大的,像爬山 最大的在上面 气泡也是 最大的在上面 因为他没有控制尾部,所以并不知道尾部是不是有序的。所以只有挨着遍历 插入 插入可以到达 O(N) 因为如果一旦满足最大情况 ,就不进行比较了,进入 ......
算法

学习记录:第一周day01笔记

linux系统简单介绍: BCPL->New B->C->Unix->Minix->Linux->gcc为了编译LInux内核产生 美国贝尔实验室 1.cd命令: cd 文件路径:进入某个目录 / :根目录,所有文件都存储在该目录下 ~:用户主目录,linux提供一个快捷方式cd可以直接回到用户主目 ......
笔记 day 01

学习记录:第一周day02笔记

vim文本编辑器: 可以直接在终端下采用纯键盘操作的一款文本编辑器(号称编辑器之神,可以升级、可以扩展) 基础用法: 1、进入vim: 输入 vim file.c 文件存在则打开,否则新建并打开 2、输入i: 进入编辑模式,编写代码 3、保存并退出 按Esc,输入ZZ保存并退出 vim三大模式: 正 ......
笔记 day 02

学习记录:第一周day03笔记

一、数据类型 为什么要对数据进行分类? 1、现实中的数据就是自带类别属性的 2、对数据进行分类可以节约内存存储空间、提高运行速度 存储空间的单位: Bit 比特 存储1个二进制位,只能存储0或1,是计算机存储数据的最小单位 Byte 字节 存储8个二进制位,是计算机存储数据的基本单位 KB(Kb) ......
笔记 day 03

学习记录:第一周day04笔记

一、for循环语句 循环:就是一种让代码反复执行的方式,从而达到想要的效果 for循环一般会使用一个变量来引导循环的进行,这一变量叫做该循环的循环变量 i index for循环的变化很灵活,但也很危险 for循环的括号问题: 1、for循环内只有一行代码时,大括号可以省略 但是这样不利于后期代码扩 ......
笔记 day 04

学习记录:第一周day05笔记

一、数组 什么是数组:变量的组合,是一种批量定义相同类型变量的方式 定义: 类型名 数组名[数量]; int arr[5]; 注意:数组的内存空间是连续分配的,且数组的长度一旦确定就无法改变 使用:数组名[下标]; 下标:从0开始,范围:0~数量-1 可以是任意整型表达式,包括整型变量和整型常量 遍 ......
笔记 day 05

学习记录:第二周day01笔记

一、Window下获取方向键 1、导入头文件 #include<conio.h> 2、通过getch()获取键盘上的键值 上:72 下:80 左:75 右:77 二、Linux下获取方向键: 1、在Window中把getch.h文件放入共享文件夹中 2、在Linux的共享文件夹下执行 mv getc ......
笔记 day 01

学习记录:第二周day02笔记

进制转换 1、为什么使用二进制、八进制、十六进制? 因为目前CPU只能识别高低两种电平,只能对二进制数据进行计算 二进制虽然能够直接别计算机识别但是不方便人去书写和记录,因此就把二进制数据转换成八进制,方便记录到文档中 随着CPU的位数的不断增加(目前已经到64位),八进制不再能够用满足需求,因此发 ......
笔记 day 02

【编程算法】【寻路】【A*优化 - 束搜索】

束搜索的好处,就在于,他可以通过剪枝减少搜索的节点,减少时间和空间的消耗但是劣势就是不一定得到最佳路径,如果把他的光束收缩到最小,就是贪心算法 1. 在存储有限的情况下进行类似的宽度优先的图搜索算法 2. 在搜索空间很大的情况下对图搜索进行存储限制的重要性 ......
算法

【编程算法】【寻路】【A*优化 - 迭代加深A*(IDA*)】

限定下限的深度优先搜索 由于不再采用动态规划的方法,节省内存 最大的优点:找到最短路径情况下,需要最小内存 但是是时间换空间,不会记得走过一条路 IDA-Star(IDA*) Algorithm in general « Insight into programming algorithms (wo ......
算法 IDA

论文阅读笔记:Parallel Iterative Solvers for Real-time Elastic Deformations (迭代法求解方程组 / 弹性形变仿真)

材料来源于 Siggraph Asia 2018 的 course note Parallel iterative solvers for real-time elastic deformations, SIGGRAPH Asia 2018 Courses, 2018. 0. 概述 在形变仿真中,许 ......

《Linux4.0设备驱动开发详解》笔记

Linux4.0设备驱动开发详解 ros_study/《Linux4.0设备驱动开发详解》笔记 at master · maohaihua/ros_study · GitHub 深入理解Linux内核(完整版) ros_study/深入理解Linux内核(完整版)-笔记 at master · ma ......
设备驱动 笔记 Linux4 设备 Linux

db2笔记_6_DbVisualizer编译存储过程

--1、在存储过程开头末尾加 --/ 和 / --2、create 后面不需要 or replace --/ create procedure MyProcedureName ( OUT o_ret INTEGER, OUT o_info VARCHAR(500), IN i_name VARCHA ......
DbVisualizer 过程 笔记 db2 db

react的diff算法

diff策略 React用 三大策略 将O(n^3)复杂度 转化为 O(n)复杂度 策略一(tree diff): Web UI中DOM节点跨层级的移动操作特别少,可以忽略不计。 策略二(component diff): 拥有相同类的两个组件 生成相似的树形结构, 拥有不同类的两个组件 生成不同的树 ......
算法 react diff