自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 收藏
  • 关注

原创 一致性利器-幂等

对于同一个系统,在同样条件下,一次请求和重复多次请求对资源的影响是一致的,就称该操作为幂等的。

2023-04-01 21:48:47 235

原创 高可用利器-限流

限流是流量限速(Rate Limit)的简称,是一种常见的系统流量控制方式,它通过限制系统的请求或流量,来保证系统的稳定性和可靠性。对于Server而言,限流保证一部分的请求流量可以得到正常的响应,总好过全部的请求都不能得到响应,甚至导致系统雪崩。

2023-03-27 20:52:15 247

原创 平衡二叉搜索树(Balanced Binary Tree)

平衡二叉搜索树是一种结构平衡的二叉搜索树,它的每个结点的左右两颗子树的高度差都不超过一的二叉树。

2023-02-19 16:39:15 611

原创 Volatile关键字剖析

volatile变量具有保证可见性,不保证原子性以及禁止指令重排的性质。

2023-01-30 16:04:54 246

原创 BIO、NIO和AIO剖析

IO模型是操作系统对输入和输出做的一系列规范和实现。常见的三种IO有三种:BIO、NIO、AIO。

2023-01-28 21:48:27 360

原创 前缀和(Prefix Sum)

前缀和指一个数组的某下标之前的所有数组元素的和(包含其自身)。前缀和分为一维前缀和,以及二维前缀和。前缀和是一种重要的预处理,能够降低算法的时间复杂度。

2023-01-19 13:23:46 487

原创 同余及其性质(Congruence)

同余(Congruence Modulo)是数论中的一种等价关系。

2023-01-19 13:22:25 554

原创 确定有限状态自动机(Deterministic Finite Automation)

确定优先状态自动机(Deterministic Finite Automation, DFA)是一种计算模型。

2023-01-19 13:21:12 588

原创 树状数组(Binary Index Tree)

树状数组(Binary Index Tree, BIT)是用用数组来模拟树形结构。

2023-01-19 13:16:10 275

原创 桶排序(Bucket sort)

桶排序又称箱排序(Bucket sort),是一个排序算法,工作的原理是将数组分到有限数量的桶里。每个桶再个别排序(可能在使用其他的排序算法),最后依次把各个桶中的记录列出来便得到了有序序列。

2023-01-19 11:57:26 440

原创 线段树(Segment Tree)

线段树用于维护区间信息(要求满足结合律)。

2023-01-19 11:56:52 202

原创 置换环(Substitution Loop)

置换环可以得到数组排序(可以指定排序方式)所需交换的最小次数。

2023-01-19 11:53:55 460

原创 字典树(Trie)

字典树(Trie),也叫前缀树,是一个比较简单的数据结构,用来存储和查询字符串。它的优点是:利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较。

2023-01-19 11:52:05 249

原创 最大公约数和最小公倍数(GCD & LCM)—简写版

如果有一个自然数a能被自然数b整除,则称a为b的倍数,b为a的约数。几个自然数公有的约数,叫做这几个自然数的公约数。公约数中最大的一个公约数,称为这几个自然数的最大公约数。两个或多个整数公有的倍数叫做它们的公倍数,其中除0以外最小的一个公倍数就叫做这几个整数的最小公倍数。

2023-01-19 11:15:39 452

原创 KMP算法(Knuth-Morris-Pratt字符串查找算法)

KMP算法的全称为Knuth-Morris-Pratt字符串查找算法,是可以在文本串s中快速查找模式串p的一种算法。

2023-01-19 10:54:18 251

原创 快速排序(Quick Sort)

快速排序(英语:Quicksort),又称分区交换排序(partition-exchange sort),简称快排,一种排序算法,最早由东尼·霍尔提出。

2023-01-18 15:51:29 201

原创 计数排序(Counting Sort)

计数排序是一种牺牲内存空间来换取低时间复杂度的排序算法,同时它也是一种不基于比较的算法。这里的不基于比较指的是数组元素之间不存在比较大小的排序算法,它可以突破基于比较算法的下限。

2023-01-18 15:08:22 215

原创 二分查找(Binary Search)

二分查找也叫作折半查找。二分查找有两个要求,一个是数列有序,另一个是数列使用顺序存储结构。他的思想很简单,但是在书写过程中如果边界条件无法正确的确定,很容易陷入到循环中无法跳出。

2023-01-18 14:59:17 543

原创 二叉搜索树(Binary Search Tree)

二叉搜索树又叫二叉排序树、二叉查找树,支持多种操作,包括Search、Minimum、Maximum、Predecessor、Successor、Insert和Delete等操作,且其基本操作所花费的时间与这棵树的高度成正比。

2023-01-18 14:56:35 613

原创 二叉堆(Binary Heap)

堆是完全二叉树,最大堆和最小堆是二叉堆的形式,按照最大元素位于根节点排列的二叉堆被称为最大堆,同理按照最小元素位于根节点排列的二叉堆被称为最小堆。

2023-01-18 14:45:06 142

原创 单调栈(Monotonic Stack)

单调栈是一种和单调队列类似的数据结构。单调栈主要在O(n)复杂度下解决Next Greater Element(NGE)问题(对序列中的每个元素找下一个/上一个比他大/小的元素)。

2023-01-18 14:30:10 435

原创 单调队列(Monotonic Queue)

单调队列是一种主要用于解决滑动窗口类问题的数据结构,即在长度为n的序列中,求每个长度为m的区间的区间最值,其的时间复杂度为O(n)。

2023-01-18 14:24:09 774

原创 并查集(Union-Find Disjoint Sets)

并查集是一种树型的数据结构,主要适用于解决一些元素的分组问题。它管理一系列不相交的集合,并支持合并和查询两种操作。

2023-01-18 14:17:21 232

原创 Dijkstra算法

给定一个带权有向图G=(V,E),其中每条边的权是一个实数。另外,还给定V中的一个顶点,称为源。要计算从源到其他所有各顶点的最短路径长度。这里的长度就是指路上各边权之和。这个问题通常称为单源最短路径问题。

2023-01-18 14:08:39 150

原创 组合数的计算方法(Combinatorial Number)

从n个不同元素中取出mm≤n个元素的所有组合的个数,叫做从n个不同元素中取出m个元素的组合数。

2023-01-18 14:04:47 1081 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除