排序
主席树学习笔记
什么是主席树 主席树这个名字看上去很高级,其实不然,它还有另一个名字——可持久化线段树。 什么是可持久化 可持久化顾名思义就是它可以变得持久,就是我们对他不断进行单点修改后,突然查询...
【单调队列】 单调队列的“扫描线”理解
【单调队列】 单调队列的“扫描线”理解 “如果一个选手比你小还比你强,你就可以退役了。”——单调队列的原理 比你强,而且比你影响时间更长。 某种意义上,数学思维是生活中的思考的延伸...
LeetCode 周赛上分之旅 #39 结合中心扩展的单调栈贪心问题
⭐️ 本文已收录到 AndroidFamily,技术和职场问题,请关注公众号 [彭旭锐] 和 BaguTree Pro 知识星球提问。 学习数据结构与算法的关键在于掌握问题背后的算法思维框架,你的思考越抽象,它能覆...
8分钟,复习一遍B树,B+树!
简单介绍 什么是B树,B+树? B 树 B 树(B- 树) 指的是 Balance Tree,又名平衡多路(即不止两个子树)查找树,并且所有叶子节点位于同一层。 B+ 树 B+ 树基于B 树和叶子节点顺序访问指针进行实...
学不会的并查集
前言 又被薄纱了捏,发现没有队友啥都做不了捏,发现自己并查集忘光光捏,惨捏,感觉自己好没有用捏,捏,捏……牢骚结束,努力捏( ̄▽ ̄)*? 并查集 并查集(Disjoint Set)是一种用于管理元素...
LeetCode 周赛上分之旅 #38 结合排序不等式的动态规划
⭐️ 本文已收录到 AndroidFamily,技术和职场问题,请关注公众号 [彭旭锐] 和 BaguTree Pro 知识星球提问。 学习数据结构与算法的关键在于掌握问题背后的算法思维框架,你的思考越抽象,它能覆...
如何在JSON Schema中实现互斥、共存
原创 鲜正权 / 叫叫技术团队 前言 这次需求中,需要对JSON数据里面的字段进行判断(互斥、共存),比如:数据中有2个字段 a、b,那么互斥就是:有a就不能有b,有b就不能有a,它俩只能存在一个。共...
LeetCode 周赛上分之旅 # 37 多源 BFS 与连通性问题
⭐️ 本文已收录到 AndroidFamily,技术和职场问题,请关注公众号 [彭旭锐] 和 BaguTree Pro 知识星球提问。 学习数据结构与算法的关键在于掌握问题背后的算法思维框架,你的思考越抽象,它能覆...
详解 HashMap 的底层实现原理
作为一名程序员,你可能经常使用 HashMap 这个重要的数据结构,但你对它的底层实现原理可能不够了解。本文将通过图文结合的方式,为你详细解析 HashMap 的底层实现原理,并回答一些常见问题,让...
【数据结构】C语言实现不带头结点的循环双链表
一、什么是循环双链表 循环双链表与单链表的区别就在于第一个节点的 prior 指针和最后一个节点 next 指针的指向;双链表的这两个指针都指向 NULL ,而循环双链表第一个节点的 prior 指向最后一...
3.环形链表
题目链接:leetcode.cn/problems/li… 环形链表 给你一个链表的头节点 head ,判断链表中是否有环。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示...
4.反转链表
leetcode.cn/problems/re… 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 示例 1: 输入: head = [1,2,3,4,5] 输出: [5,4,3,2,1] 示例 2: 输入: head = [1,2] 输出: [...
用 Redis 做分布式锁?配合源码食用更稳妥 – SET NX 命令剖析
在分布式系统中,我们经常会借助 redis 的 SET NX 机制来实现多个服务之间的锁机制,即所谓的分布式锁。这是一条简单的获取锁的命令,当然,实际应用中需要处理更多的场景: $ SET foo bar NX E...
【数据结构】C语言实现循环单链表
一、定义 与单链表相似,只不过单链表最后一个节点的 next 指向 NULL,循环单链表最后一个节点指向链表的第一个节点 循环单链表也是分为带头结点和不带头结点,部分操作对于不带头结点的循环单...
蓝牙智能设备数据采集平台化方案 | 京东云技术团队
技术背景 随着人们生活水平的提升,对健康的关注意识也随之提高;另外人口结构的老龄化,慢性病发病率升高,以及新冠疫情持久广泛的影响,进一步提高了大众对疾病早期预防、身体数据定期自测、...
搜索中常见数据结构与算法探究(二) | 京东物流技术团队
本文介绍了几个常见的匹配算法,通过算法过程和算法分析介绍了各个算法的优缺点和使用场景,并为后续的搜索文章做个铺垫;读者可以通过比较几种算法的差异,进一步了解匹配算法演进过程以及解决...
1.两数相加
力扣题目链接:leetcode.cn/problems/tw… 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设...
2.计算2数之和
力扣题目链接: leetcode.cn/problems/ad… 给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。 请你将两个数相加,...
LeetCode 周赛上分之旅 # 36 KMP 字符串匹配殊途同归
⭐️ 本文已收录到 AndroidFamily,技术和职场问题,请关注公众号 [彭旭锐] 和 BaguTree Pro 知识星球提问。 学习数据结构与算法的关键在于掌握问题背后的算法思维框架,你的思考越抽象,它能覆...
使用 Go 语言实现二叉搜索树
原文链接: 使用 Go 语言实现二叉搜索树 二叉树是一种常见并且非常重要的数据结构,在很多项目中都能看到二叉树的身影。 它有很多变种,比如红黑树,常被用作 std::map 和 std::set 的底层实现...