摘要: 目录链表应用应用1:Leetocde 21. 合并两个有序链表题目分析代码实现方法一:迭代实现方法一:递归实现应用2:Leetocde 23. 合并 K 个升序链表题目分析方法一:分治方法二:优先级队列代码实现方法一:分治方法二:优先级队列应用3:Leetocde 141. 环形链表题目分析代码实现 阅读全文
posted @ 2023-05-23 16:15 LARRY1024 阅读(47) 评论(0) 推荐(0)
摘要: [TOC] # 简介 ## TCP 协议的作用 因为 IP 层协议是不可靠的,它不保证网络包的交付、不保证网络包的按序交付、也不保证网络包中的数据的完整性。如果需要保障网络数据包的可靠性,那么就需要由上层(传输层)的 TCP 协议来负责。 ![image](https://cdn.xiaolinco 阅读全文
posted @ 2023-05-16 16:05 LARRY1024 阅读(647) 评论(0) 推荐(0)
摘要: 目录回溯算法应用应用1:Leetcode.332题目分析代码实现应用2:Leetcode.51题目分析代码实现应用3:Leetcode.37题目分析代码实现 回溯算法 力扣上典型的回溯算法相关题目如下: 序号 题目 1 332. 重新安排行程 2 51. N 皇后 3 37. 解数独 应用 应用1: 阅读全文
posted @ 2023-05-09 18:58 LARRY1024 阅读(153) 评论(0) 推荐(0)
摘要: 目录排列与组合的区别应用应用1:Leetcode.77题目分析代码实现应用2:Leetcode.39题目分析代码实现方法一方法二应用3:Leetcode.40题目分析代码实现应用4:Leetcode.216题目分析代码实现方法一方法二应用5:Leetcode.78题目分析代码实现应用6:Leetco 阅读全文
posted @ 2023-05-08 15:36 LARRY1024 阅读(178) 评论(0) 推荐(0)
摘要: 目录应用1. Leetcode 241. 为运算表达式设计优先级1.1. 题目1.2. 分析1.3. 代码实现 分治相关的题目如下: 序号 题目 难度 1 241. 为运算表达式设计优先级 中等 应用 1. Leetcode 241. 为运算表达式设计优先级 1.1. 题目 241. 为运算表达式设 阅读全文
posted @ 2023-05-06 16:52 LARRY1024 阅读(42) 评论(0) 推荐(0)
摘要: 目录自动机自动机简介常见的自动机应用应用1:Leetcode.8题目分析代码实现 自动机 自动机简介 自动机理论是一种将离散数学系统的构造,自动机是有穷自动机(finite state automata,FSM)的数学模型。 有穷自动机是一个识别器,它对每个输入的字符做识别和判断,以确定其能到达的最 阅读全文
posted @ 2023-05-05 11:36 LARRY1024 阅读(359) 评论(0) 推荐(1)
摘要: 目录简介排列乘法原理排列数全排列组合加法原理组合数 简介 排列就是指从给定个数的元素中取出指定个数的元素进行排序。组合则是指从给定个数的元素中仅仅取出指定个数的元素,不考虑排序。 排列 乘法原理 如果完成一个工程需要分 \(n\) 个步骤,假设 \(a_i\) 代表第 \(i\) 个步骤的不同方法数 阅读全文
posted @ 2023-04-28 18:10 LARRY1024 阅读(250) 评论(0) 推荐(0)
摘要: Redis 缓存 引入了缓存层,就会有缓存异常的三个问题,分别是缓存雪崩、缓存击穿、缓存穿透。 它们的区别如下: 缓存击穿 场景 高并发流量场景下,大量请求同时访问一个热点数据,该热点数据在数据库中存在,但是, Redis 中缓存的数据已经过期了,这时,一瞬间就会有大量的请求同时打到数据库上,导致数 阅读全文
posted @ 2023-04-20 20:00 LARRY1024 阅读(641) 评论(0) 推荐(0)
摘要: 哨兵(Redis Sentinel) 简介 Redis Sentinel provides high availability for Redis when not using Redis Cluster. 当没有使用 Redis Cluster 时,Redis 哨兵(Sentinel)为 Redi 阅读全文
posted @ 2023-04-19 00:34 LARRY1024 阅读(231) 评论(0) 推荐(0)
摘要: Redis 主从复制 主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器。前者称为主节点(master),后者称为从节点(slave);数据的复制是单向的,只能由主节点到从节点。 主从复制的作用主要包括: 数据冗余:主从复制实现了数据的热备份,是持久化之外的一种数据冗余方式。 阅读全文
posted @ 2023-04-14 19:04 LARRY1024 阅读(197) 评论(0) 推荐(0)
摘要: 目录链表应用 II应用 2:Leetcode 25. K 个一组翻转链表题目分析代码实现应用2:Leetcode 234. 回文链表题目分析方法一:数组方法二:递归方法三:快慢指针代码实现方法一方法二方法三应用3:Leetcode 143. 重排链表题目分析代码实现 链表应用 II 应用 2:Lee 阅读全文
posted @ 2023-04-12 23:17 LARRY1024 阅读(28) 评论(0) 推荐(0)
摘要: 目录字典树(Trie)应用应用1:Leetcode.642题目题目分析代码实现应用2:Leetcode.1268题目分析代码实现总结字典树的应用 字典树(Trie) 字典树(Trie),也称为“前缀树”,是一种特殊的树状数据结构,对于解决字符串相关问题非常有效。它能够提供快速检索,主要用于搜索字典中 阅读全文
posted @ 2023-04-12 20:06 LARRY1024 阅读(92) 评论(0) 推荐(0)
摘要: [TOC] # Redis数据持久化 Redis提供了四种持久化策略:RDB (Redis Database)、AOF、RDB + AOF 和 不持久化。 - **RDB(Redis Database)** 在指定的时间间隔内将内存中的数据集以快照形式写入磁盘。 - 优点: - RDB 快照是一个压 阅读全文
posted @ 2023-04-06 21:34 LARRY1024 阅读(231) 评论(0) 推荐(0)
摘要: 目录MySQL一条SQL语句的执行过程开启事务两阶段提交MySQL的两阶段提交过程异常重启会出现什么现象?两阶段提交的缺点组提交组提交的过程MySQL 磁盘 I/O 很高的优化方法 MySQL MySQL分为 Server 层 与 存储引擎层。 Server 层:包括连接器、查询缓存、分析器、优化器 阅读全文
posted @ 2023-03-28 22:38 LARRY1024 阅读(1572) 评论(0) 推荐(0)
摘要: [TOC] # 分类 MySQL Server 主要有以下几类日志: | 日志类型 | 作用 | | | | | 错误日志(Error log) | 记录启动、运行、停止 mysqld 时遇到的问题 | | 查询日志(General query log) | 已建立的客户端连接和从客户端收到的语句 阅读全文
posted @ 2023-03-28 21:40 LARRY1024 阅读(164) 评论(0) 推荐(0)
摘要: 目录InnoDB架构缓冲池(Buffer Pool)数据预读缓冲池(Buffer Pool)简介Buffer Pool 的管理空闲页(Free Page)脏页(Dirty Page)小结InnoDB 的缓存淘汰策略传统 LRU 算法的缺点InnoDB如何解决预读失效的问题InnoDB如何解决 Buf 阅读全文
posted @ 2023-03-27 22:26 LARRY1024 阅读(604) 评论(0) 推荐(0)
摘要: 目录InnoDB 多版本并发控制多版本控制和二级索引共享锁和排它锁当前读和快照读当前读快照读Read ViewRead Veiw 的生成流程总结 InnoDB 多版本并发控制 InnoDB 是一个多版本(multi-version)存储引擎,它会保存被修改行的旧版本信息,以支持并发和回滚等事务功能, 阅读全文
posted @ 2023-03-24 23:03 LARRY1024 阅读(175) 评论(0) 推荐(0)
摘要: [TOC] # 事务 事务是一个不可分割的数据库操作序列,也是数据库并发控制的基本单位,其执行的结果必须使数据库从一种一致性状态变到另一种一致性状态。事务是逻辑上的一组操作,要么都执行,要么都不执行。 事务就是一组原子性的操作,这些操作要么全部发生,要么全部不发生。事务把数据库从一种一致性状态转换成 阅读全文
posted @ 2023-03-22 17:16 LARRY1024 阅读(106) 评论(0) 推荐(0)
摘要: KMP算法 Knuth-Morris-Pratt字符串查找算法(简称为KMP算法)可在一个字符串S内查找一个词W的出现位置。一个词在不匹配时本身就包含足够的信息来确定下一个匹配可能的开始位置,此算法利用这一特性以避免重新检查先前配对的字符。 这个算法由高德纳和沃恩·普拉特在1974年构思,同年詹姆斯 阅读全文
posted @ 2023-03-21 16:02 LARRY1024 阅读(139) 评论(0) 推荐(0)
摘要: 目录应用应用1:Leetocde1206题目解题思路代码 应用 应用1:Leetocde1206 题目 1206. 设计跳表 解题思路 参考: Java手写实现跳表 代码 import random from typing import List class Skiplist(object): # 阅读全文
posted @ 2023-03-09 20:08 LARRY1024 阅读(28) 评论(0) 推荐(0)