首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
java工程师需要掌握的一些数据结构
用户6854537597769
创建于2025-11-04
订阅专栏
算法与数据结构
暂无订阅
共20篇文章
创建于2025-11-04
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
🗺️ 图的遍历(DFS & BFS):探索迷宫的两种方式!
📖 一、什么是图的遍历?从走迷宫说起 1.1 生活中的场景 想象你在一个迷宫中,要找到出口: 方案1:深度优先搜索(DFS) 方案2:广度优先搜索(BFS) 1.2 专业定义 深度优先搜索(DFS -
🔗 并查集(Union-Find):朋友圈问题的解决方案!
📖 一、什么是并查集?从朋友圈说起 1.1 生活中的场景 场景:社交网络中的朋友圈 用并查集解决: 1.2 专业定义 并查集(Union-Find / Disjoint Set Union, DSU)
🛣️ 跳表(Skip List):Redis的高速公路!
📖 一、什么是跳表?从高速公路说起 1.1 生活中的场景 想象你要从北京开车到上海: 方案1:普通道路(单链表) 方案2:高速公路+普通道路(跳表) 1.2 专业定义 跳表(Skip List) 是一
🌲 B+树(B+ Tree):MySQL索引的秘密武器!
📖 一、什么是B+树?从图书馆目录说起 1.1 生活中的场景 想象你在一个巨大的图书馆找书: 方案1:线性查找(数组) 方案2:二叉搜索树(BST/红黑树) 方案3:B+树(数据库索引) 1.2 专业
🔴⚫ 红黑树(Red-Black Tree):自平衡的艺术大师!
📖 一、什么是红黑树?从交通信号灯说起 1.1 生活中的场景 想象你在管理一条公路的红绿灯: 普通二叉搜索树(可能失衡): 红黑树(自动平衡): 1.2 专业定义 红黑树(Red-Black Tree
🌲 二叉搜索树(BST):查找效率的平衡大师!
📖 一、什么是二叉搜索树?从家族族谱说起 1.1 生活中的场景 想象你在查族谱找人: 普通链表查找: 二叉搜索树查找: 1.2 专业定义 二叉搜索树(Binary Search Tree, BST)
🔄 一致性哈希(Consistent Hashing):分布式系统的负载均衡神器!
📖 一、什么是一致性哈希?从分蛋糕说起 1.1 生活中的场景 想象你开了一家连锁蛋糕店: 传统哈希(取模法): 问题来了:新开一家店(扩容) 一致性哈希的解决方案: 1.2 专业定义 一致性哈希(Co
🔑 哈希表(Hash Table):数据界的高速索引!
📖 一、什么是哈希表?从图书馆说起 1.1 生活中的场景 想象你在图书馆找书: 没有哈希表(暴力查找): 有了哈希表(直接定位): 1.2 专业定义 哈希表(Hash Table) 是一种根据键(Ke
🔒 阻塞队列(BlockingQueue):生产者消费者的桥梁!
📖 一、什么是阻塞队列?从包子铺说起 1.1 生活中的场景 想象一个包子铺: 没有阻塞队列的世界: 有了阻塞队列: 1.2 专业定义 阻塞队列(BlockingQueue) 是 Java 并发包(ja
👑 优先队列(PriorityQueue):VIP插队的艺术!
📖 一、什么是优先队列?从医院急诊说起 1.1 生活中的场景 想象你在医院急诊室: 普通队列(FIFO): 优先队列(Priority Queue): 1.2 专业定义 优先队列(Priority Q
🎭 双端队列(Deque):两头都能进出的神奇队伍!
📖 一、什么是双端队列?让我们从排队说起 1.1 生活中的普通队列 vs 双端队列 想象一下这个场景: 普通队列(Queue) 就像你去奶茶店排队: 🚶♂️ 新来的人从队尾进入 🏃♀️ 买到奶茶的
🌐 分布式算法:限流、负载均衡、分布式ID,实战必备!
🚦 限流算法 为什么需要限流? 场景:双11抢购,瞬间10万人涌入,服务器扛不住!😱 解决方案:限流!控制流量,保护服务器! 1. 固定窗口算法 原理:每个时间窗口允许固定数量的请求 代码实现: 问题
💎 动态规划(DP):用空间换时间的艺术,面试难点突破!
🤔 什么是动态规划? 生活中的例子:爬楼梯 问题:爬10层楼梯,每次可以爬1层或2层,有多少种爬法? 暴力递归(会超时): 动态规划(用数组记录): 🎯 动态规划的核心思想 三要素 重叠子问题 - 有
⚡ 排序算法大全:从冒泡到快排,面试必考!
📊 排序算法全景图 🐌 冒泡排序(Bubble Sort) 原理 像气泡一样,大的往上冒! 代码实现 时间复杂度: 最好:O(n) - 已经有序 平均/最坏:O(n²) 空间复杂度:O(1) 稳定性:
🌲 树形结构:从二叉树到B+树,MySQL索引的秘密!
🌳 什么是树?家族族谱的故事 👨👩👧👦 生活中的树 📊 二叉树(Binary Tree) 基本概念 二叉树:每个节点最多有2个子节点 节点定义 二叉树的类型 1. 满二叉树(Full Binar
👑 哈希表(HashMap):O(1)查找速度王者,面试必考!
😊 什么是哈希表?图书馆的故事 📚 两种找书方式 方式1:线性查找(没有哈希表) 方式2:哈希查找(有哈希表) 这就是哈希表!通过哈希函数把键(key)映射到一个位置,直接访问! 🎯 🏗️ 哈希表的原
🎫 队列(Queue):排队买奶茶的艺术,先来先得的公平!
😊 什么是队列?奶茶店的故事 🧋 生活中的队列 想象你去网红奶茶店买奶茶: 这就是队列!先进先出(FIFO - First In First Out) ✨ 栈 vs 队列: 🏗️ 队列的原理 基本概念
📚 栈(Stack):后进先出的魔法盒,程序员的撤销键!
😊 什么是栈?叠盘子的故事 🍽️ 生活中的栈 想象你在餐厅洗盘子: 规则: 📥 入栈(Push):把新盘子放在最上面 📤 出栈(Pop):只能从最上面拿盘子 👀 查看栈顶(Peek):看一眼最上面的盘
🎯 跳表(Skip List):链表开了挂!Redis ZSet的秘密武器 🚀
😮 什么是跳表?一个快递小哥的故事 📦 传统链表的烦恼 想象你是一个快递小哥,要给100号楼送快递。如果你只能从1号楼开始,一栋一栋地找: 要走100步!太累了!😫 🚀 跳表的聪明之处 现在,如果小区
🚂 链表(LinkedList):数据结构界的小火车,一节连一节!
😊 什么是链表?火车的比喻 还记得小时候玩的玩具火车吗?🚂 每节车厢都有一个挂钩,连接着下一节车厢。想要加一节车厢?很简单,挂上去就行!想要去掉一节?解开挂钩就好! 这就是链表! 每个"车厢"(节点)