自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【leetcode】(十五)有序表-AVL树-SB树-红黑树-跳表

本文系统介绍了有序表的多种实现结构,包括红黑树、AVL树、SB树和跳表。这些数据结构均能在O(logN)级别实现插入、删除与查找操作。其中,平衡二叉树(如AVL树、红黑树)通过旋转维护高度平衡;SB树基于子树节点数量进行平衡调整;跳表则利用多层索引链表实现概率性平衡。文章详细阐述了各类结构的插入、删除、旋转及修复逻辑,并通过代码示例验证其正确性。最终对比分析表明,跳表以简单直观的随机索引机制,在期望时间复杂度上达到对数级别,是高效且易于实现的替代方案。

2026-11-10 23:16:55 75

原创 【leetcode】(十四)从暴力递归到动态规划

/一共是1~N这么多位置,固定参数//最终的目标是E,固定参数//当前在cur位置//还剩rest步需要走//返回从cur出发,恰好走rest步到达E的方法数//来到终止位置,记录1个路径;没有来到终止位置,0个路径1:0;//res>0有路可走//当前位置是1,只能从1->2,rest-1//当前位置是N,要走,rest-1//机器人来达的是中间位置,可以往左一步,或者往右一步。// 方法二:记忆化搜索i<=K;i++){j<=N;j++){

2026-10-21 17:18:50 203

原创 【leetcode】(十三)大数据处理

采用累加和的方法:range(0~2^32-1),40亿个数,若采用无符号整型存储,只用10KB的内存,10KB/4B=2500长度,最接近的数是2048,于是设置unsign int[]总数为2048,记录词频(arr[i]++)后,比如0~2047上arr[0]出现了100万次,2048~2048*2-1上arr[1]出现10亿,2048*2~2048*3-1上arr[2]出现5亿次......如果arr[i]的范围刚刚让累加和=20亿,那么中位数就出现在这个范围上。其中1出现在0,2,4,6位上。

2026-10-17 21:41:46 115

原创 【leetcode】(十二)树形dp

树的头节点是公司唯一的老板。从二叉树的节点a出发,可以向上或者向下走,但沿途的节点只能经过一次,到达节点b时路径上的节点个数叫作a到b的距离,那么二叉树任何两个节点之间都有距离,求整棵树上的最大距离。0+max{a来时整棵树最大快乐值,a不来整棵树最大快乐值}+max{b来时整棵树最大快乐值,b不来整棵树最大快乐值}+max{c来时整棵树最大快乐值,c不来整棵树最大快乐值}以某个节点X为头节点的子树中,分析答案有哪些可能性,并且这种分析是以X的左子树、X的右子树和X整棵树的角度来考虑可能性的。

2026-10-14 11:08:38 59

原创 【leetcode】(十一)Manacher算法,滑动窗口和单调栈

Manacher算法解决的问题字符串str中,最长回文子串的长度如何求解?如何做到时间复杂度O(N)完成?例如,str"abc12320de“的最长回文子串为”232“。采用直观的暴力解法,我们可以遍历每一个字符,再以这个字符为中心左右两边寻找对称字符,但是长度为偶数的回文难以得到,比如字符串”122131221“中的两个”1221“。

2026-10-10 18:17:04 173

原创 【leetcode】(十)并查集与KMP算法

【题目】一个矩阵中只有0和1两种值,每个位置都可以和自己的上、下、左、右四个位置相连,如果有一片1连在一起,这个部分叫做一个岛,求一个矩阵中有多少个岛?(leetcode hot 100,剑指offer105,leetcode1254)【举例】001010111010100100000000这个矩阵中有三个岛【进阶】如何设计一个并行算法解决这个问题。

2026-10-07 22:17:43 229

原创 【leetcode】(九)哈希函数与哈希表

f(in)=out(1)in->∞,out->s.比如md5算法输出的范围是0~2^64-1,SHA1算法的输入范围是0~2^128-1;

2026-10-06 23:07:31 186

原创 【leetcode】(八)暴力递归

一定要学会怎么去尝试,因为这是动态规划的基础,这一内容我们将在提升班讲述。

2026-09-30 17:08:25 261

原创 【leetcode】(七)前缀树和贪心算法

何为前缀树?如何生成前缀树?比如["abc","bck","abd","ace"],“ ”包围的就是从根节点出发走向的的路的名称,如果有就复用,如果没有就添加节点将路延续下去,其中节点是按照遍历集合生成路径的顺序命名的。我们可以设置两个信号值来模拟这一过程。以["abc","ab","bc","bck"]为例,我们为每一个节点ni设置一个通路标记(p,pass)和一个末尾节点标记(e,end)来判断这一过程。p和e在抵达初始节点(n0)之前设置为0,当初始节点n0进入之后,pass值就加1;

2026-09-27 22:57:00 230

原创 【leetcode】(六) 图

1)邻接表邻接表存储无向无权图如图所示:邻接表存储无向带权图如图所示:2)邻接矩阵邻接矩阵表示无向带权图。如何表达图?生成图?另,数组也可以表示图,如定义以下的序列关系,对于数组arr[5,2,2,4,2,1],对应序列{0,1,2,3,4,5},我们规定,序列号指向数组的值,比如[0->5,1->2,2->2],也可以组成图。这种方式是面试中喜欢考的题目,超出日常使用的邻接矩阵和邻接表法。应对策略:将日常能够用到的图的表示方法将图实现一遍,形成一个模板,在面对其它格式构造的图的题目时,写一个接口将这两种结

2026-09-17 01:32:33 156

原创 【leetcode】(五)二叉树

本文系统介绍了二叉树的结构与遍历实现,涵盖递归与非递归方式的先序、中序、后序遍历,以及层序遍历求最大宽度。重点阐述了搜索二叉树(BST)、完全二叉树、满二叉树和平衡二叉树的判定方法,并通过树型DP思想统一解决相关问题。此外,还讲解了最低公共祖先、后继节点查找、序列化与反序列化等经典算法,最后以折纸问题为例展示二叉树的巧妙应用。

2026-09-09 21:04:42 180

原创 【leetcode】(四)排序算法汇总和链表

时间复杂度空间复杂度稳定性选择O(N^2)O(1)×冒泡O(N^2)O(1)√插入O(N^2)O(1)√归并O(N*logN)O(N)√快排(随机)O(N*logN)O(logN)×堆O(N*logN)O(1)×目前没有找到时间复杂度O(N*logN),额外空间复杂度O(1),又稳定的排序。常见的坑(1),归并排序的额外空间复杂度可以变成O(1),但是非常难且变完之后不再稳定,不需要掌握,有兴趣可以搜“归并排序 内部缓存法”

2026-09-06 18:51:15 381

原创 【leetcode】(三)堆排序和桶排序

1,堆结构就是用数组实现的完全二叉树结构2,完全二叉树中如果每棵子树的最大值都在顶部就是大根堆3,完全二叉树中如果每棵子树的最小值都在顶部就是小根堆4,堆结构的heapInsert与heapify操作5,堆结构的增大和减少6,优先级队列结构,就是堆结构。

2026-09-03 17:37:01 236

原创 【leetcode】(二)认识O(NlogN)的排序

用递归方法找一个数组中的最大值,系统上到底是怎么做的?master 公式的使用1)log(b,a) > d -> 复杂度为 O(N^log(b,a))2)log(b,a) = d -> 复杂度为 O(N^d * logN)3)log(b,a) < d -> 复杂度为 O(N^d)

2026-09-02 22:20:28 368

原创 【leetcode】(一)认识复杂度和简单排序算法

常数时间的操作一个操作如果和样本的数据量没有关系,每次都是固定时间内完成的操作,叫做常数操作。时间复杂度为一个算法流程中,常数操作数量的一个指标。常用 O(读作 big O)来表示。具体来说,先要对一个算法流程非常熟悉,然后去写出这个算法流程中,发生了多少常数操作,进而总结出常数操作数量的表达式。在表达式中,只要高阶项,不要低阶项,也不要高阶项的系数,剩下的部分如果为 f(N),那么时间复杂度为 O(f(N))。

2026-09-01 22:26:02 171

原创 【OpenCV】(十九)光流估计

光流估计

2026-02-10 00:05:22 696

原创 【OpenCV】(十八)答题卡识别判卷与文档ocr扫描识别

答题卡识别判卷与文档ocr扫描识别

2026-02-09 23:45:39 746

原创 【OpenCV】(十七)目标追踪

目标追踪

2026-02-09 23:19:55 1209

原创 【OpenCV】(十六)人脸检测和车牌识别

人脸检测和车牌识别

2026-02-09 00:35:07 784

原创 【OpenCV】(十五)图像的分割与修复

图像的分割和修复

2026-02-08 21:11:30 690

原创 【OpenCV】(十四)信用卡识别项目

信用卡识别项目

2026-02-08 04:37:46 1154

原创 【OpenCV】(十三)虚拟计算器项目

虚拟计算器项目

2026-02-06 21:18:07 309

原创 【OpenCV】(十二)图像查找和图像拼接

图像查找和图像拼接

2026-02-06 21:08:55 1103

原创 【OpenCV】(十一)特征检测和匹配

特征检测和匹配

2026-02-05 21:18:09 1414

原创 【OpenCV】(十)车辆统计项目

车辆统计项目

2026-02-04 22:01:41 1169

原创 【OpenCV】(九)图像直方图

图像直方图

2026-02-03 19:23:20 1420

原创 【OpenCV】(八)图像轮廓

图像轮廓

2026-02-01 16:05:12 1088

原创 【OpenCV】(七)形态学

形态学

2026-01-31 21:48:54 1044

原创 【OpenCV】(六)滤波器

滤波器

2026-01-28 00:42:20 1541

原创 【OpenCV】(五)图像基本变换

图像基本变换

2026-01-27 12:03:46 874

原创 【OpenCV】(四)图像视频的加载和显示

图像视频的加载和显示

2026-01-25 19:57:32 775

原创 【OpenCV】(三)图像的算数与位运算

图像的算数与位运算

2026-01-24 11:51:22 1072

原创 【OpenCV】(二)OpenCV基础知识和绘制图形

OpenCV基础知识和绘制图形

2026-01-22 16:18:45 1110

原创 【OpenCV】(一)OpenCV概述和环境配置

OpenCV概述与环境配置

2026-01-22 10:39:13 375

原创 [RedHat-124]第五章-问答题:创建、查看和编辑文本文件

I/O重定向是改变命令输入或输出默认位置的操作。例如,将输出从屏幕重定向到文件,或将输入从键盘改为文件。在Linux系统中,有三种标准的I/O流:(1) 标准输入(stdin,文件描述符0):默认从键盘输入;(2) 标准输出(stdout,文件描述符1):默认输出到终端;(3) 标准错误(stderr,文件描述符2):默认输出到终端。/dev/null是一个特殊的设备文件,被称为“空设备”或“位桶”。由于写入它的数据会被丢弃,常用于抑制不需要的输出或清空文件内容。(1)&> /dev/null:将命令的标准

2026-01-19 20:49:09 656

空空如也

空空如也

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

TA关注的人

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