指尖 算法 精灵 笔记

[最优化方法笔记] 拟牛顿法 SR1, BFGS, DFP

1. 拟牛顿法 1.1 回顾牛顿法 牛顿法(经典牛顿法)的迭代表达式: \[x^{k + 1} = x^k - \nabla^2 f(x^k)^{-1} \nabla f(x^k) \]但是,牛顿法过程中 \(\text{Hessian}\) 矩阵 \(\nabla^2 f(x^k)\) 的计算和存 ......
笔记 方法 BFGS SR1 DFP

[转]一文搞懂对称加密:加密算法、工作模式、填充方式、代码实现

原文地址:一文搞懂对称加密:加密算法、工作模式、填充方式、代码实现 - 知乎 单向散列加密只能够对消息进行加密(严格来说是计算消息的摘要),想要实现对密文解密,需要使用其它加密方式了。今天介绍一个在信息安全领域中,比较重要的加密方式——对称加密。 下面是本篇讲述内容: 加密、解密和密钥 加密(Enc ......
算法 模式 代码 方式

[转]Java中对称加密算法使用

原文地址:对称加密算法 - 廖雪峰的官方网站 对称加密算法就是传统的用一个密码进行加密和解密。例如,我们常用的WinZIP和WinRAR对压缩包的加密和解密,就是使用对称加密算法: 从程序的角度看,所谓加密,就是这样一个函数,它接收密码和明文,然后输出密文: secret = encrypt(key ......
算法 Java

12.15每日总结(阅读笔记8)

《人月神话》这本书是软件工程类的一本经典著作。阅读这本书的第一感受就是感觉这本书不像是一种和学习相关的书,更像是用很多形象的比喻,阐述项目管理当中的一些问题,让读者能够很轻松,明白的去阅读。 一般在大学学习计算机行业的时候,都会学习一门叫做软件工程的课程,老师也会跟我们讲一些关于“软件项目开发的完成 ......
笔记 12.15 12 15

算法学习笔记四一插入排序

目录什么是插入排序算法原理示例代码 什么是插入排序 插入排序可理解为扑克牌摸牌的过程,手中的牌为有序序列,然后随机摸一张牌,根据牌的大小插入到有序序列对应的位置。算法时间复杂度为O(n^2) 算法原理 默认列表第一个元素为基准,从第二个元素和第一个元素进行比较,并放入到相应位置。 此时前两个元素是一 ......
算法 笔记

代码随想录算法训练营第三天|203.移除链表元素、707.设计链表、206.反转链表

LeetCode 203.移除链表元素 题目链接:203.移除链表元素 原链表删除元素(需要区分头节点和非头结点) 使用虚拟头节点,统一链表操作(注意:新链表头结点是虚拟头节点的下一节点) LetCode 707.设计链表 题目链接:707.设计链表 注意:头节点采用虚拟头节点,使得链表操作具有一致 ......
随想录 训练营 随想 算法 元素

算法学习Day3虚拟头指针,设计链表,反转链表

Day3虚拟头指针,设计链表,反转链表 By HQWQF 2023/12/15 笔记 203.移除链表元素 给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点 。 解法:虚拟头指针 看起来非常简单,但是由于如果直接 ......
指针 算法 Day3 Day

算法学习笔记三一选择排序

目录什么是选择排序算法原理示例代码 什么是选择排序 选择排序的主要思想是(升序为例):第一次从待排序的数据元素中选出最小的一个元素,和数组的起始位置元素进行交换,然后再从剩余的未排序元素中寻找到最小元素,然后和未排序的序列的第一个元素进行交换。每次在未排序序列中选择一个最小元素这样已排序序列就是一个 ......
算法 笔记

双指针算法概念

"双指针"是一种在数组或链表中使用两个指针来进行操作的技术。这两个指针通常被称为“快”指针和“慢”指针,或者“左”指针和“右”指针,根据其在数据结构中的移动速度或位置来命名。双指针算法在处理数组或链表的问题中非常有效,可以帮助我们以更优的时间复杂度解决问题。常见的应用包括两数之和、判断链表是否存在环 ......
指针 算法 概念

代码随想录算法训练营第三天 | 链表理论基础,203.移除链表元素,707.设计链表,206.反转链表

一、链表理论基础 学习: 1. 链表定义 线性表的一种存储方式,在逻辑上连续的数据在物理存储中可以不连续。 class ListNode { int val; ListNode next; ListNode() { } ListNode(int val) { this.val = val; this ......
随想录 训练营 随想 算法 元素

linux系统下rsync使用笔记

rsync的功能 rsync能够基于网络(含局域网和互联网)快速地实现多台主机间的文件同步工作 rsync的特点 rsync有独立的文件内容差异算法,会在传送前对两个文件进行比较,只传送两者内容间的差异部分,因此速度更快 rsync的使用场景 1、本地代码更新到测试服务器,我们一般采用git方式,测 ......
笔记 系统 linux rsync

[最优化方法笔记] 牛顿法与修正牛顿法

1. 牛顿法 1.1 梯度下降法的缺点 对于无约束优化问题: \[\min_{x \in \mathbb{R}^n} f(x) \]使用梯度下降法进行迭代: \[x^{k + 1} = x^k - \alpha_k \nabla f(x^k) \]梯度下降的基本策略式沿着一阶导数的反方向(即最速下降 ......
笔记 方法

代码随想录算法训练营Day3 | 203.移除链表元素、707.设计链表、206.翻转链表

这三道题都不涉及什么难以理解的算法,是对链表基础知识的一个复习巩固 对于有数据结构基础的同学来说这个没有什么难度 但是,写代码的过程中,我明显感觉到,我需要更加完善和统一的代码风格,作为一个前OIer,我的c和cpp混用的情况在基础数据结构的封装层面造成了不小的混乱! 我需要去补充cpp的内容的,或 ......
随想录 训练营 随想 算法 元素

《需求分析与系统设计》读书笔记1

第一章讲了软件过程,从总体生描述了软件开发过程中的策略问题,介绍了支撑现代软件开发的过程和方法,认到了软件工程的本质是软件固有的复杂性,一致性,可变性和不可见性的产物。软件工程的偶然因素分为3类,即投入者,过程和建模语言和工具;投入者指那些与软件项目之间存在着利害关系的人,即客户和开发人员;过程确定 ......
需求 笔记 系统

代码随想录算法训练营Day2 |977.有序数组的平方、209.长度最小的子数组、59.螺旋矩阵 II

明天四级考试了,时间非常紧张,好在这些数组相关的算法题很久之前就做过,思路上是不存在不理解的地方的。 有序数组的平方是一道非常直观的双指针方法的应用,实现过程之中没有什么坑。 长度最小的子数组就是我们的滑动窗口方法了,题目不难,但是这种处理方式有着很深刻的背景,之后还会遇到此问题的变种。 螺旋矩阵问 ......
数组 随想录 训练营 矩阵 螺旋

机器学习ml.net例子笔记1

详细内容参考: ml.net例子笔记1 (yuque.com) https://www.yuque.com/wushifengcn/kb/yb6xa6d01zr3tdit 如下是大纲 1 ml.net例子概要 二元分类 多类分类 建议 回归 时间序列预测 异常情况检测 聚类分析 排名 计算机视觉 跨 ......
例子 机器 笔记 net ml

unity广州站gpu resident drawer笔记

unity广州站gpu resident drawer笔记 什么是gpu resident drawer 将MeshRenderer数据转为BRG batch(BatchRendererGroup)数据的机制。 它优化的是CPU耗时,但也可能进而提高gpu的性能。因为需要提交给GPU的绘制调用更少。 ......
resident 笔记 drawer unity gpu

文心一言 VS 讯飞星火 VS chatgpt (157)-- 算法导论12.3 4题

四、用go语言,删除操作可交换吗?可交换的含义是,先删除 x 再删除 y 留下的结果树与先除 y 再删除 x 留下的结果树完全一样。如果是,说明为什么? 否则,给出一个反例。 文心一言: 在Go语言中,删除操作是不可交换的。这意味着先删除节点 x 再删除节点 y 与先删除节点 y 再删除节点 x 留 ......
文心 导论 算法 chatgpt VS

秦疆的Java课程笔记:71 面向对象 什么是多态

多态即同一方法可以根据发送对象的不同而采用多种不同的行为方式。 一个对象的实际类型是确定的,但可以指向对象的引用的类型有很多。(指向父类或者有关系的类。) //父类 public class Person { } //子类 public class Student extends Person { ......
对象 课程 笔记 Java

秦疆的Java课程笔记:72 面向对象 instanceof和类型转换

instanceof关键字,用于判断左边的实例对象是否是右边的类的实例。 先创建4个类,父类Person,其子类Student和Teacher,测试类Application。在Application中测试instanceof语句: //父类 public class Person {} //子类 p ......
instanceof 对象 类型 课程 笔记

数论学习笔记

数论分块 求 \(\sum f(i)g(\biggl\lfloor \dfrac{n}{i} \biggr\rfloor)\),并且 \(f(i)\) 的前缀和可以快速计算。 发现 \(\biggl\lfloor \dfrac{n}{i} \biggr\rfloor\) 的取值只有根号种,暴力做就完 ......
数论 笔记

[最优化方法笔记] 梯度下降法

1. 梯度下降法 无约束最优化问题一般可以概括为: \[\min_{x \in \mathbb{R}^n}f(x) \]通过不断迭代到达最优点 \(x^*\),迭代过程为: \[x^{k + 1} = x^k + \alpha_k d^k \]其中 \(d^k\) 为当前的 搜索方向,\(\alph ......
梯度 笔记 方法

【kmp算法】字符串匹配

一,解决问题 kmp算法解决的是字符串匹配的问题,具体来说假定我们要在主串s[ ] 中匹配模式串p[ ],找到匹配到的位置loc; 二,具体实现和演变过程 最自然的想法是暴力写法 (BF)枚举主串字符s[ i ] ,和模式串p[ j ]。一个一个匹配,如果匹配失败,i指针回退回起点,往前进一位,再次 ......
字符串 算法 字符 kmp

【graphviz笔记】用graphviz画UML类图

digraph UMLClassDiagram { // 指定节点类型,这样节点才会变成UML的类图矩形 node [shape=record, fontname="Arial"]; // 定义节点数据 // 其中“|”会渲染成横线; // \l表示向左对齐,同时换行 // \n表示居中对齐,同时换 ......
graphviz 笔记 UML

linux 学习笔记

计算机硬件软件体系 冯诺依曼体系结构 1.计算机处理的数据和指令一律用二进制数表示 2.顺序执行程序 3.计算机硬件由运算器、控制器、存储器、输入设备、输出设备五部分组成 计算机硬件组成、 1.输入设备 键盘鼠标2.输出设备 显示器,音响3.存储器 1)RAM(random access memor ......
笔记 linux

基于Raft算法的DLedger-Library分析

在分布式系统应用中,高可用、一致性是经常面临的问题,针对不同的应用场景,我们会选择不同的架构方式,比如master-slave、基于ZooKeeper选主。随着时间的推移,出现了基于Raft算法自动选主的方式,Raft是在Paxos的基础上,做了一些简化和限制,比如增加了日志必须是连续的,只支持领导... ......
DLedger-Library 算法 DLedger Library Raft

《Progressive Learning of Category-Consistent Multi-Granularity Features for Fine-Grained Visual Classification》阅读笔记

论文标题 《Progressive Learning of Category-Consistent Multi-Granularity Features for Fine-Grained Visual Classification》 细粒度视觉分类中类别一致多粒度特征的渐进学习 作者 Ruoyi D ......

Java-常见的排序算法有哪些

Java-常见的排序算法有哪些 比较排序算法: 冒泡排序(Bubble Sort): 过程: 从左到右依次比较相邻的元素,如果顺序不对就交换它们,一轮比较会将最大的元素冒泡到末尾。 优势: 简单易懂,对于小型数据集表现较好。 劣势: 时间复杂度为 O(n^2),性能相对较差。 插入排序(Insert ......
算法 常见 Java

神经网络算法原理简述

神经网络算法是一种模拟人类神经系统运作的机器学习算法。它由多个神经元(或称为节点)组成,每个神经元都与其他神经元连接,并通过这些连接传递信息。神经网络通过学习大量数据,自动调整连接的权重,从而实现模式识别、分类、回归等任务。神经网络算法的原理可以分为以下几个步骤: 输入层:神经网络的第一层是输入层, ......
神经网络 算法 神经 原理 网络

学C笔记归纳 第十四篇——一维数组

1.什么是数组? 数组是一组相同类型元素的集合。 2.数组的创建方式 type_t arr_name [const_n] type_t 数组的元素类型 arr_name 数组名 const_n 常量表达式,用来指定数组的大小 例如:int arr[2]; char[2+3] ; //这样也行 3.下 ......
数组 笔记
共12800篇  :34/427页 首页上一页34下一页尾页