数据结构与算法

【高阶数据结构】红黑树

前言:前面我们已经理解并实现了AVL树,不难发现:AVL树对其自身结构有非常严格的要求,即任意节点的左右子树高度差不能超过1,所以,又有人提出了红黑树这样的数据结构,但AVL树与红黑树都遵循二叉搜索树的规则。 🚀直通车:《我的数据结构专栏》 一、什么是红黑树&#xf

DeepSeek 动态规划(Dynamic Programming,DP) 是一种解决复杂问题的算法思想,通过将问题分解为相互重叠的子问题,并存储子问题的解(称为“记忆化”),避免重复计算

动态规划(Dynamic Programming,DP) 是一种解决复杂问题的算法思想,通过将问题分解为相互重叠的子问题,并存储子问题的解(称为“记忆化”),避免重复计算,从而高效求解原问题。---核心思想1. 最优子结构       问题的最优解包含其子问题的最优解。  

哈希表题解:O(1) 查询背后也有边界

哈希表题解:O(1) 查询背后也有边界一、哈希表不是无脑加速器哈希表在算法题里太常见了:两数之和、最长连续序列、字母异位词、前缀和计数。它的优势是平均 O(1) 查询,但这不代表可以无脑使用。哈希表会消耗空间,也会带来 key 设计、重复元素、计数和边界问题。很多哈希题写错,不是不会用 dict,而是没想清楚存什么

LeetCode 387. First Unique Character in a String 题解

LeetCode 387. First Unique Character in a String 题解题目描述给定一个字符串 s ,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1 。示例 1:输入: s = "leetcode" 输出: 0 示例 2:输入: s = &#34

【5分钟背八股】Cookie 和 Session 有什么区别?如何使用Session进行身份验证?

推荐阅读【5分钟背八股】双写一致性问题如何解决? Session 的主要作用就是通过服务端记录用户的状态。 典型的场景是购物车,当你要添加商品到购物车的时候,系统不知道是哪个用户操作的,因为 HTTP 协议是无状态的。服务端给特定的用户创建特定的 Session 之后就可以标识这个用户并且跟踪这个用户了。 Cookie 数据保存在客户端(浏览器端),Session 数据保存在服务器端。相对来说 S

当代码开始替我们心动,算法时代的罗曼蒂克消亡录

文章目录 第一章 数字红线的编织逻辑 1.1 婚恋市场的梯度下降 1.2 情感神经网络的过拟合 第二章 量化爱情引发的数据危机 2.1 心动指标的标准化困境 2.2 数字分身带来的认知失调 第三章 算法黑箱中的认知革命 3.1 反向传播的社交礼仪 3.2 注意力经济的爱情买卖 第四章 技术迷雾中的人性微光 4.1 无法编码的瞬间 4

Jaccard算法及其扩展(token、加权)原理详解

Jaccard算法是一种简单而强大的集合相似性度量方法,特别适合处理二元属性数据。它通过计算两个集合的交集与并集的比值,直观地反映两个对象的相似程度。随着应用场景的扩展,Jaccard算法被赋予了多种变体形式,包括添加token的扩展(如文本处理中的分词)和带权重函数的扩展(如加权Jaccard&#

【C++】STL之list模拟实现:关于链表容器的双向迭代器你知道多少?

前言:前面的博客中我已经介绍了STL核心容器之一的list相关接口的使用,今天我们就从底层出发,来模拟实现一下list的那些核心接口函数。同时,也来感受一下list的双向迭代器到底与string和vector的随机迭代器有哪些区别? list容器功能接口介绍:# 废话不多说,我们直接进入今天的正

【优选算法必刷100题:专题六】(模拟算法)第039~343题:替换所有的问号、提莫攻击、Z 字形变换、外观数列、数青蛙

🎬 个人主页:艾莉丝努力练剑 ❄专栏传送门:《C语言》《数据结构与算法》《C/C++干货分享&学习过程记录》 《Linux操作系统编程详解》《笔试/面试常见算法:从基础到进阶》《Python干货分享》 ⭐️为天地立心,为生民立命,为往圣继绝学,为万世开太平 &#