- 博客(22)
- 收藏
- 关注
原创 【冒泡排序回顾】深入理解冒泡排序
文章目录冒泡排序个人理解1.原理:2.思路:3.算法分析:4.代码:5.几个思考问题:冒泡排序个人理解冒泡排序只会操作相邻的两个数据:让小的数冒上来,大的数沉下去,N个数字要排序完成,总共进行N-1趟排序,每第i趟的排序次数为(N-i)次。外层控制循环冒泡多少趟,内层控制每一趟的循环次数==每次冒泡操作都会对相邻的两个元素进行比较,看是否满足大小关系要求。如果不满足就让它俩互换。一次冒泡会让至少一个元素移动到它应该在的位置,重复 n 次,就完成了 n 个数据的排序工作。用一个例子,带你看.
2021-06-02 19:28:44
426
原创 【堆排序回顾】堆排序的理解
文章目录堆排序堆排序有两种方法堆排序第一种实现思路——构造堆+排序:步骤一 :构造初始堆。将给定无序序列构造成一个大顶堆(一般升序采用大顶堆,降序采用小顶堆)。步骤二 :将堆顶元素与末尾元素进行交换,使末尾元素最大。然后继续调整堆,再将堆顶元素与末尾元素交换,得到第二大元素。如此反复进行交换、重建、交换。堆排序过程:代码:为什么说堆排序没有快速排序快?如何理解“堆”?要实现一个堆,先要知道,堆都支持哪些操作以及如何存储一个堆。1、往堆中插入一个元素2.删除堆顶元素堆排序堆排序有两种方法方法一:前提.
2021-06-02 19:22:32
844
原创 【插入排序、选择排序回顾】插入排序、选择排序、希尔排序的理解
文章目录插入排序(Insertion Sort)插入排序具体实现:代码:复杂度:选择排序(Selection Sort):希尔排序# 插入排序、选择排序、希尔排序插入排序(Insertion Sort)一个有序的数组,我们往里面添加一个新的数据后,如何继续保持数据有序呢?很简单,我们只要遍历数组,找到数据应该插入的位置将其插入即可。这是一个动态排序的过程,即动态地往有序集合中添加数据,我们可以通过这种方法保持集合中的数据一直有序。而对于一组静态数据,我们也可以借鉴上面讲的插入方法,来进行排序,.
2021-06-02 19:11:35
288
原创 【归并排序回顾】深入理解归并排序
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录归并排序分治思想:分而治之划分时怎么知道划分成为一个一个的呢merge 合并并且排序,谁小把谁拉下来复杂度与稳定性:注意:常用排序算法复杂度对比:代码实现:归并排序一般用在数据量很大的外部排序(放到磁盘上的,内存放不下)分治思想:分而治之归并排序:先划分成(/2,向下取整,把mid也划分到左边)直到都只有单独的一个元素,再合并的过程就是排序的过程。合并排序,哪一个更小就放在前面,怎么拆分的就怎么合并回去,比较要合并的
2021-06-02 19:03:37
258
原创 【快速排序回顾】详细分析
目录快速排序思路:原理图解:代码:复杂度O(nlogn)分析:快速排序思路:先把数组中的一个数当成基准数,一般会把数组最左边的数当成基准数,而不一定是从原数组的第0个位置开始;如果把数组最左边的数当成基准数,那么【一定要先从右边开始检索比基准数小的,找到有小于基准数的就先停下】,(如果先从左边开始找大于基准数时恰好大于的基准数的在最右边时方法失效);再从左边检索比基准数大的,检索到了也暂时停下;然后交换这两个元素,然后继续检索;一旦左右检索指针相遇就立即停止检索,然后把基准数
2021-06-01 18:11:47
139
原创 【JUC】常用辅助类总结记录——线程减法、加法计数器、信号量
提示:多线程编程和操作系统结合着理解文章目录一、CountDownLatch——countDown()、await()官方文档的描述:一眼看过去有点懵~直接看下面的举例示例结果注意原理二、CyclicBarrier——await()官方文档的描述:一眼看过去有点懵~直接看下面的举例示例结果原理三、Semaphore——acquire()、release()官方文档的描述:一眼看过去有点懵~直接看下面的“抢车位”举例示例注意观察结果原理一、CountDownLatch——countDown()、awa
2021-05-26 13:46:55
204
原创 【二刷随笔】剑指 Offer 43. 1~n 整数中 1 出现的次数——绝对非常简单易懂的思路!!!
问题描述:输入一个整数 n ,求1~n这n个整数的十进制表示中1出现的次数。例如,输入12,1~12这些整数中包含1 的数字有1、10、11和12,1一共出现了5次。示例 1:输入:n = 12 输出:5示例 2:输入:n = 13 输出:6解题思路——直接看代码就行//【思路】找每一位出现1时分别一共有多少情况,注意输入是n,但代表的是1-n的n个整数,分成3类来讨论class Solution { public int countDigitOne(int n) {
2021-05-23 17:36:42
126
原创 【二刷随笔】剑指 Offer 56 - I. 数组中数字出现的次数 位运算(详解) / 暴力解
项目场景:提示:这里简述项目相关背景:例如:项目场景:示例:通过蓝牙芯片(HC-05)与手机 APP 通信,每隔 5s 传输一批传感器数据(不是很大)问题描述:提示:这里描述项目中遇到的问题:例如:数据传输过程中数据不时出现丢失的情况,偶尔会丢失一部分数据APP 中接收数据代码:@Override public void run() { bytes = mmInStream.read(buffer); mHandler.obta
2021-05-19 18:00:39
118
原创 【日常记录】在某个时间点或一段时间内,Redis突然访问延迟的原因分析
分析一下在实际使用中,某个时间点或一段时间内导致Redis突然出现访问延迟可能出现的原因。有时间记得更出这些原因的具体排查方法。可能导致Redis出现延迟的原因分析1. 使用了复杂度高的命令2. 存储了大key3. 大量的key集中过期4. 实例内存达到上限5. fork耗时严重6. 绑定CPU7. 开启了AOF8. (操作系统)使用了Swap9. 网卡负载过高后续1. 使用了复杂度高的命令通过查看慢日志记录,我们就可以知道Redis在什么时间执行哪些命令比较耗时,如果你的业务经常使用O(n)
2021-05-19 09:49:11
592
原创 【二刷随笔】剑指 Offer 37. 序列化二叉树 / leetcode 297,BFS,超详细解题记录!
目录剑指 Offer 37. 序列化二叉树 / leetcode 297:代码,注释很详细,直接看也行:思路:1、序列化2、辅助函数strToNode3、反序列化剑指 Offer 37. 序列化二叉树 / leetcode 297:二叉树的序列化与反序列化题目链接:https://leetcode-cn.com/problems/xu-lie-hua-er-cha-shu-lcof/代码,注释很详细,直接看也行: // BFS,层序遍历 时间:O(n);空间:因为用到额外的queue ,O..
2021-05-11 22:13:53
118
原创 yum安装RabbitMQ
1.更新下yum源yum update2.安装erlangyum install epel-releaseyum install erlang3.安装rabbitmq-serveryum install rabbitmq-server4.启动/usr/lib/rabbitmq/bin/rabbitmq-server -detached日志文件:/var/log/rabbitmq/rabbit@localhost.log配置文件/etc/rabbitmq/rabbitmq.c
2021-05-01 21:03:57
2156
原创 【正则表达式】通俗易懂——正则表达式的零宽断言:?=、?<=、?!、?<! 的具体使用区别
ps:想吐槽一下,什么前瞻,后顾,负前瞻,负后顾,小白就想简单了解会用而已,为啥网上很多明明很简单的东西非得写的那么…举的例子也那么…,对小白一点也不友好~一、个人理解:1、将 < 看成方向,包含这个箭头说明是放在要去匹配的目标内容的左边(来开头);2、把 ?! 看成 ?!= 就好了3、一定要记住:匹配得到的结果并不包含 ?=、?<=、?!和?<!=里面的内容的!!!二、?=、?<=、?!、?<! 的具体使用区别:【1】?= : 询问要去匹配的目标的后面跟着的东西
2021-04-24 12:05:25
3803
2
原创 Error:(3, 29) java: 程序包org.junit.jupiter.api不存在
问题描述:Error:(3, 29) java: 程序包org.junit.jupiter.api不存在:原因分析:IDEA里默认的版本为3.8.1,修改为高版本就可以了,因为3.x使用的为编程的方式,4.x以后为注解的形式。解决方案:<dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-api</artifactId> <ve.
2021-04-22 16:57:40
785
原创 JMeter压测接口报错如何定位问题所在
问题场景:最近学习用到JMeter,初次接触难免遇到问题,记录一下最简单的解决办法。1、暂时只启动一个线程跑一次,然后在服务器上debug另外:1、为什么不在自己的电脑上压测服务器下的网站,而是在服务器上压测?主要是为了排除掉网络带宽的影响,比如在使用云服务器,网络带宽就是一个非常大的限制因素。一般压测机器和应用机器在同一个局域网之内,排除掉网络带宽的影响2、压测时,有错误就说明达到系统处理能力的极限了,单机的QPS不可能无限制的高。2、在jmeter中添加“查看结果树”,就可以看到详
2021-04-21 17:06:07
1747
2
原创 <日常记录>使用@Transactional事务回滚失败的一个细小原因——MySQL中字段最好设置为非空(除非必要)
@Transactional注解事务失效问题描述:1、首先注解、各层代码均无问题;2、然后尝试网上诸多办法未果(甚至去看了 @Transactional的原理…);3、最后回到数据库去检查,发现MySQL中新建一个表,其中事务要涉及的某个字段没有设置为 【非空】 ,更改后事务回滚成功!原因分析:提示:有时间再把原因整理出来(从MySQL事务角度出发分析即可)。...
2021-04-09 23:04:23
179
原创 开放域对话系统的属性一致性识别研究
EMNLP 2020 | 开放域对话系统的属性一致性识别论文:Profile Consistency Identification for Open-domain Dialogue Agents作者:宋皓宇,王琰,张伟男,赵正宇,刘挺,刘晓江论文链接:https://www.aclweb.org/anthology/2020.emnlp-main.539.pdf资源地址:https://github.com/songhaoyu/KvPI文章目录前言一、论文研究目的二、KvPI数据集三、KvBERT模
2021-03-31 19:44:32
483
原创 <日常记录>指标监控可视化工具的使用
指标监控功能可视化:1、前提:对SpringBoot中指标监控功能有一定了解(SpringBoot Actuator相关),这里只是一个工具的快速使用示例记录,详细使用的话参照开源地址的A quick guide 。2、利用一个可视化开源工具来每隔一段时间就收集各个微服务的监控指标并展示所有微服务模块的监控数据。开源工具Spring Boot Admin地址https://github.com/codecentric/spring-boot-adminStep0:准备工作1、模拟创建一个本地
2021-03-30 16:01:53
313
原创 阿里云部署SSM项目与SpringBoot项目超详细步骤(含JDK、Tomcat、MySQL、Redis、Nginx等)
日常记录:1、在阿里云服务器上搭建程序执行环境,并在服务器上发布运行项目,遇到问题及解决措施。2、从零开始部署项目,超详细步骤,干货满满,一步到位!3、不过因为是整理回忆之前的笔记,难免有疏漏,但应该不会有哈哈哈。ps:如有问题,还请大佬指点一二。文章目录前言一、执行环境介绍1、阿里云服务器:CentOS 7.32、JDK 1.83、Tomcat 8.54、MySQL 5.75、Redis 4.0.26、Nginx 1.9二、服务器安装JDK与Tomcat2.1、JDK1.8安装2.2、Tomc
2021-03-29 23:24:16
603
2
原创 <日常记录>:请求域,会话域,上下文域。
Servlet的三个作用域:请求域,会话域,上下文域之间的区别作用域接口名作用范围生命周期请求域HttpServletRequest1个用户的1次请求1次请求对话域HttpSession1个用户的所有请求当1次会话结束上下文域ServletContext所有用户的所有请求重启或关闭服务器三个作用域的通用方法方法作用setAttribute存放数据getAttribute获取数据removeAttribute
2021-03-24 18:10:09
480
原创 自定义微信公众号测试号时的小坑记录
提示:这里我是在已经实现微信连接等第三方等功能之后测试发现并解决的一些问题记录。文章目录1、微信公众号测试号设置自定义菜单:2、关注公众号之后,如果想要获取扫描微信用户的基本信息,则应在自定义body的时候要使用在微信浏览器里访问的url(前提自定义好相关接口),否则无法获取,影响相关功能的使用。3、如下举例:这里将会获取到code,之后再可以通过code获取到access_token 进而获取到当前微信用户信息。1、微信公众号测试号设置自定义菜单:1.1 申请测试号(直接微信扫码即可):地址点这
2021-03-20 23:19:03
311
原创 解决并分析MySQL 报错:this is incompatible with sql_mode=only_full_group_by
解决并分析MySQL 报错:this is incompatible with sql_mode=only_full_group_by在开发某个定时任务时,忘记给服务器MySQL改个配置(以为自己改了),导致浪费了些时间去修改,特此记录一下吧(自己好笨)。报错如题:原因分析:提示:在这里先检查一下服务器MySQL版本是否为5.7及以上经过查阅资料,发现mysql5.7以上版本会默认sql_mode=“ONLY_FULL_GROUP_BY”,当sql语句执行时,原先的 group by 语句就
2021-03-19 21:26:23
257
原创 框架迁移:由SSM至SpringBoot过程详解
IDEA 框架迁移:由SSM至SpringBoot过程详解提示:本篇文章整理出框架迁移的大致流程,此外还记录了在实际中遇到一些的问题及解决措施,时间有限不能详尽,如有纰漏还请大佬指出,谢谢!框架迁移记录IDEA 框架迁移:由SSM至SpringBoot过程详解一、SpringBoot理论知识与基本框架搭建二、正式开始迁移框架1. SSM框架下pom.xml的迁移2. DAO的迁移3. Service的迁移4. WEB层的迁移三、总结一、SpringBoot理论知识与基本框架搭建本人在项目中是使用
2021-03-16 23:03:26
3843
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人