指尖 算法 精灵 笔记

程序员修炼之道阅读笔记

第19节 文本操纵 1、学习一种文本操纵语言。文本操作语言对于编程的意义,就像是刳刨机对于木工活的意义。 2、文本操作的案例。 我们的测试数据有好几万条,散落在不同文件,如果需要进行合并并转换为特定格式,手动处理是无法想象的。但如果使用 Perl 几个小时就可以完成。 数据库 schema 维护。可 ......
程序员 笔记 程序

四月第二篇阅读笔记

在这本《人月神话》中,其中提到了软件系统的复杂性远远超过了建筑行业和制造行业,软件的需求是在人的脑子中很快形成的一种想法,用我们的自然语言都很难完整、准确的表达给对方。一般情况下,人们只有在看到一个已运行的APP或者网站以后才会说:“哦,我要的其实不是这个功能,其实我想得是能够这样这样的或者那样那样 ......
笔记

计网学习笔记九 Routing Fundamentals

在这一讲开始讲路由器的控制平面。简单介绍了routing,两个最小cost算法。 参考看的文章: VC网络中的路由 VC网络和数据报网络中路由的区别:Differences between Virtual Circuits and Datagram Networks 三种路由方式(静态、默认和动态) ......
Fundamentals Routing 笔记

查找算法

查找算法 1. 线性查找 线性查找(Order Search)是最简单的一种查找算法,直接从头到尾遍历,直至找到要查找的值为止。 1.1 代码实现 package com.algorithm; /** * @author SnkrGao * @create 2023-04-20 19:52 */ p ......
算法

算法学习day01数组part02-209、59、977

package LeetCode.arraypart02; /** * 209. 长度最小的子数组 * 给定一个含有n个正整数的数组和一个正整数 target 。 * 找出该数组中满足其和 ≥ target 的长度最小的 连续子数组[numsl, numsl+1, ..., numsr-1, num ......
数组 算法 part day 209

快速幂算法——求a^b % p的一种快速方法

先想暴力怎么求解 可以循环b次,每次从而求出a^b % p,时间复杂度为O(b),而这里的b是很大的,达到了2 * 10 ^ 9数量级,所以这么做会TLE 1 #include <iostream> 2 using namespace std; 3 int main() { 4 int a, b, ......
算法 方法

Promise笔记

ES6 Promise异步 1. 回调地狱(末日金字塔) 概念: 异步程序的回调函数嵌套 作用: 获取异步数据 缺点: 1.可复用性低 2.可阅读性差 3.可维护性差 4.可扩展性差 通俗来讲就是函数A执行回调函数B 回调函数B执行回调函数C 如此不断嵌套 形成一个不断右缩进的代码 这就是回调地狱( ......
Promise 笔记

算法、一个数组中有10个数字,把这组数数据分在div上,每个div上最多只能有4个数字,用for循环怎么实现

来自chartGPT的写法: const arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; const divNum = 4; // 每个div上最多只能有4个数字 for (let i = 0; i < arr.length; i += divNum) { const ......
数字 数组 算法 div 数据

基础算法-快速排序

思路 快速排序是一种常见的排序算法,它的基本思路是通过分治的方法将一个大的问题分解成小的问题进行解决。具体而言,快速排序的核心思路是选取一个枢轴元素,将序列分为两个子序列,其中一个子序列的所有元素都比枢轴元素小,而另一个子序列的所有元素都比枢轴元素大,然后对这两个子序列分别进行递归排序,直到子序列的 ......
算法 基础

基础算法-堆排序

思路 堆是一种完全二叉树,其中每个节点的值都大于或等于其子节点的值,被称为“大根堆”;或者每个节点的值都小于或等于其子节点的值,被称为“小根堆”。在堆排序中,我们使用的是大根堆,即根节点的值是最大的元素。 堆排序的基本思路是: 建立一个大根堆。将待排序的序列构建成一个大根堆,即所有非叶子节点的值都大 ......
算法 基础

基本算法-基数排序

思想 当我们需要对一组数据进行排序时,常规的排序算法(如快速排序、归并排序等)通常是比较排序,即通过比较元素之间的大小关系来进行排序。但有时候我们需要对一组数据按照它们的“数字位”进行排序,此时比较排序并不是最优的选择,这时候基数排序就显得非常有效了。 基数排序是一种非比较排序算法,它根据元素的每个 ......
基数 算法

Java学习笔记(三)

1. 请描述你理解的循环 按照一定次数重复地执行程序,直至达到次数上限,将重复的代码只编写一次,然后再重复执行即可,这样的程序结构就是循环结构。 2. 请描述嵌套for循环执行的过程 嵌套循环是先执行外层循环,然后再执行内层循环。外层循环执行一次,内层执行若干次,当内层执行完以后,则跳到外层循环,开 ......
笔记 Java

基于RL(Q-Learning)的迷宫寻路算法

强化学习是一种机器学习方法,旨在通过智能体在与环境交互的过程中不断优化其行动策略来实现特定目标。与其他机器学习方法不同,强化学习涉及到智能体对环境的观测、选择行动并接收奖励或惩罚。因此,强化学习适用于那些需要自主决策的复杂问题,比如游戏、机器人控制、自动驾驶等。强化学习可以分为基于价值的方法和基于策 ......
迷宫 算法 Q-Learning Learning RL

Redis 为何使用Nearly LRU 算法淘汰数据

Redis 使用该 LRU 算法淘汰过期数据吗?不是的。 由于 LRU 算法需要用链表管理所有的数据,会造成大量额外的空间消耗。 大量的节点被访问就会带来频繁的链表节点移动操作,从而降低了 Redis 性能。 Redis的内存空间是很宝贵的,而维护LRU的双向链表需要使用比较多的额外空间,至少需要一 ......
算法 数据 Nearly Redis LRU

C++写算法常用函数

title: C++写算法常用函数 字符串转数字 int num = stoi(s); 数字转字符串 string s = to_string(num); 字符串末尾添加字符 s.push_back('a'); 字符串末尾添加字符串 s.append("asd"); 字符串读取 1、用cin读取 s ......
算法 函数 常用

AOP学习笔记

概念 什么是AOP (1) 面向切面编程(方面),利用AOP可以对业务逻辑的各个部分进行隔离,业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。 (2) 通俗描述:不通过修改源代码方式,在主干功能里面添加新功能 (3) 使用登录例子说明AOP 登录例子 术语 连接点(join ......
笔记 AOP

JVM垃圾回收机制之对象回收算法

在前面的文章中,介绍了JVM内存模型分为:堆区、虚拟机栈、方法区、本地方法区和程序计数器,其中堆区是JVM中最大的一块内存区域,在Java中的所有对象实例都保存在此区域,它能被所有线程共享。 在Java中还有一个重要的机制:GC(垃圾收集器),堆是GC管理的主要区域,本文会带大家了解GC机制。 GC ......
算法 机制 对象 垃圾 JVM

ROS学习笔记(四)- ROS的launch文件

书接上回,上次已经介绍到launch文件的一些内容了,这次详细记录学习一下。 在ROS中,launch文件是一种XML文件,用于描述ROS系统中的节点、话题、参数等信息,可以用来自动化启动多个节点和启动参数服务器。在实际应用中,launch文件可以让用户非常方便地组织ROS系统的启动和配置。下面详细 ......
ROS 文件 笔记 launch

Python用哈希算法查找相似图片(包括不同分辨率,不同大小,不同格式的图片)

# -*- coding: utf-8 -*- ''' Python用哈希算法查找相似图片并放入[_df]的文件夹中 相似图片包括不同分辨率,不同大小,不同格式,只要图片相似就会算重复文件 安装cv2 pip install opencv-python ''' import os import cv ......
图片 算法 分辨率 大小 格式

仅1cm厚!华硕发布全球最薄13.3英寸笔记本

近日,华硕发布了新款Zenbook S 13 OLED,官方称其为世界最纤薄的13.3英寸OLED笔记本电脑。 据悉,这款电脑的厚度仅有1cm,重量也仅有1kg,相较其他同尺寸的笔记本,确实更加轻薄。 材质上,这款笔记本采用了华硕独有的等离子陶瓷铝材料盖板,并采用了回收金属和塑料。 在这样的体积内, ......
笔记本 笔记 全球 13.3 1cm

主席树 学习笔记

考试的时候用到了,顺便学习一下。 upd:2023.04.21 终于把坑填了。 0x00 前言 主席树(又称可持久化线段树,函数式线段树)是一种常用的数据结构。它以保存每次修改时的历史版本为主要思想,拥有大量的应用场景(可持久化 trie/并查集/数组 $\ldots$)(当然,常数也是很大的)。 ......
主席 笔记

python学习笔记(输出函数print/第一篇/2023年4月21日)

#输出内容到控制台#打印字符串,用单引号、双引号或者三引号包裹要打印的内容print('HelloWorld')print(4+1)#输出内容到文件,"a+"表示如果没有这个文件就创建文件fp = open("D:/test.txt","a+")print('HelloWorld!',file = ......
函数 笔记 python print 2023

Git学习笔记

序言 上次学Git操作的时候应该还在4年前吧,由于大部分项目都是单独开发,版本控制用的较少。 这类工具,像git、maven、IDEA等等,需要理解的知识不是太多。要想熟练使用,理解命令的含义即作用是不够的,需要我们不断的去使用它。 每当需要使用时发现自己还是不会,每次都是学完就放那里了。一个月都不 ......
笔记 Git

InterSystems Ensemble学习笔记 服务器日志下载

InterSystems Ensemble学习笔记 服务器日志下载 一,进入服务器,右健点击,右下角图标,选Terminal,弹出CMD框。 二,输入命令行,zn "%SYS" 三,输入命令行,do ^Buttons 四,第1个问题选Y,第2个问题选N ......

读书笔记 - 《Monolith to Microservices》

如果你的产品目前是B/S或者C/S架构,想要考虑重构成微服务,这本书绝对是一个很好的参考,作者通过自己的实践经历,详述了以下几个方面: 不要因为别人都做微服务,你就想要把自己的系统转成微服务,首先需要分析自己系统碰到的问题,找到最适合的解决办法,微服务不是万能的,不能解决所有问题 考虑微服务提供的灵 ......
Microservices Monolith 笔记 to

从原理聊JVM(一):染色标记和垃圾回收算法

本篇介绍了JVM中垃圾回收器相关的基础知识,后续会深入介绍CMS、G1、ZGC等不同垃圾收集器的运作流程和原理,欢迎关注。 ......
算法 标记 原理 垃圾 JVM

Diffie-Hellman密钥交换算法

隐私计算常用到各种加密算法,那么双方如何协商得到同一个不被泄露的密钥呢? 一种做法是基于RSA,拥有公钥的一方将随机私钥加密提供给对方,对方再利用私钥解密出密钥。于是双方都得到了会话密钥。 本篇是另一种密钥交换算法,可以保证“通讯双方在完全没有对方任何预先信息的条件下通过不安全信道创建起一个密钥”:... ......
密钥 Diffie-Hellman 算法 Hellman Diffie

工数上笔记

工数分析上 第五章 常微分方程 一阶微分方程 可分离变量的微分方程:$\cfrac{dy}{dx}=f(x)g(y)$ $$\int \cfrac{dy}{g(y)}=\int f(x)dx$$ 齐次方程:$\cfrac{dy}{dx}=f(\cfrac{y}{x})$ $$设u=\frac{y}{ ......
笔记

算法题目

-- coding: utf-8 -- """ Created on Wed Jun 1 15:34:00 2022 @author: guess who i am """ 说明: 1 本文共一百八九十道题,涵盖了截止2022.6.30我在网上所见到的所有题,真正的最全题库,只有答案没有题目。 ht ......
算法 题目

Aras学习笔记 (53) - 根据ID快速找到文件Vault路径

Step1: 首先在对象类File中根据名称找到ID; Step2: 右键文件 --> Share --> Copy ID; Step3: 在Console中输入下命令: top.aras.IomInnovator.getFileUrl("[文件ID]", top.aras.Enums.UrlTyp ......
路径 文件 笔记 Vault Aras