首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
算法与数据结构相关
Nathan20240616
创建于2024-12-25
订阅专栏
跟着左神学算法
等 3 人订阅
共31篇文章
创建于2024-12-25
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
数据结构 - NIO高并发集合及相关锁
高并发中的集合 1. 并发集合总览 🗺️ 2. 常用并发集合实现 📝 3. Android 中的应用场景 📱 4. 各集合类特点对比 📊 5. 实际应用示例 🌟 6. 性能考虑 ⚡ 7. 选择建议 💡
数据结构 - ArrayMap 和 SparseArray的区别
一、基本结构对比 二、主要区别 键的类型限制 内存占用 查找方式 三、性能对比 四、使用场景 ArrayMap适用场景 SparseArray适用场景 五、内部实现差异 六、选择建议 主要区别总结:
数据结构 - LruCache和DiskLruCache
基本实现 1. LruCache 底层实现 1.1 核心结构 1.2 工作原理图解 2. DiskLruCache 底层实现 2.1 核心结构 2.2 Journal文件结构 2.3 写入过程 3.
数据结构 - LinkedHashMap(二)
1. 基本结构 2. 数据结构图解 3. 插入过程 4. 实际例子 5. 两种结构的配合 6. 特殊功能 6.1 按访问顺序排序 7. LRU缓存实现 8. 实际应用场景 9. 性能特点 10. 总结
数据结构 - LinkedHashMap(一)
LinkedHashMap 的底层原理 一、LinkedHashMap 的结构 🏪 1.核心结构实现 🏗️ 2.核心方法实现 🔨 3.辅助方法实现 🛠️ 4.使用示例 📝 5.工作原理图解 🎯 关键点
数据结构 - HashMap
1. 基本概念 2. 数据结构 3. 重要参数 4. 核心方法 5. 重要机制 5.1 哈希计算 5.2 扩容机制 6. 面试回答要点 6.1 基本介绍 6.2 数据结构 6.3 重要参数 6.4 工
数据结构 - LinkList,ArrayList的基本原理及使用
LinkedList的基本原理 🌟 LinkedList 基本结构 想象成: 🚂 添加元素过程 形象理解: 🔍 查找元素过程 形象理解: 🎯 删除元素过程 形象理解: 💫 迭代器实现 形象理解: 🔄
数据结构 - PriorityQueue的底层原理及应用
PriorityQueue的基本原理 🌟 基本概念 💡 核心操作 ⚡ 实际应用示例 🔄 性能分析 📊 实际应用场景 ⚠️ 使用注意事项 记住: 底层是最小堆实现 插入和删除都是 O(log n) 适合
数据结构 - Deque及ArrayDeque
Deque的基本内容 一、Deque的基本概念 🎭 二、基本实现 💻 三、生动示例:餐厅排队系统 🏪 四、实际应用场景 🌟 五、性能特点 ⚡ 六、使用建议 💡 七、常见误区 ⚠️ 总结一下: Dequ
数据结构 - Queue
Queue的基本操作 一、Queue 的基本操作分类 二、详细操作说明 1. 添加操作 2. 移除操作 3. 查看操作 三、操作对比表 四、实际应用示例 五、常见Queue实现类 六、性能对比 七、使
左哥算法 - 从暴力递归到动态规划
一.基本的从暴力递归到动态规划过程 1. 解题流程图 2. 以经典的"爬楼梯"问题为例 问题:一次可以爬1或2个台阶,爬到N级台阶共有多少种方法? 2.1 暴力递归版本 画个图来看递归过程: 可以看到
左哥算法 - 排序算法优化
在常见的排序算法中,有几种可以使用双指针技术来优化。让我详细介绍: 1️⃣ 快速排序(最典型的双指针应用) 2️⃣ 归并排序的合并过程(双指针) 3️⃣ 冒泡排序的优化版本(双指针) 4️⃣ 三路快排
左哥算法 - 排序 - 并归排序,桶排序
并归排序 🌟 归并排序的核心思想 想象你有一堆扑克牌需要整理。归并排序使用的是"分而治之"的思想,就像这样: 📚 分解: 把一堆牌分成两半,然后继续对每一半分,直到每份只剩一张牌 🔄 合并: 把两份有
左哥算法 - 排序 - 插入排序 ,快速排序
插入排序 🎴 生活中的例子 想象你在打扑克牌,每次抽一张牌放入手中。当你拿到新牌时,会将它与手中已经排好序的牌进行比较,然后插入到合适的位置。这就是插入排序的基本思想! 📝 工作原理 将数组分成"已排
左哥算法 - 排序 - 选择排序,冒泡排序
选择排序 🎯 选择排序的基本思想 想象你有一堆扑克牌需要整理,选择排序的方式就像这样: 首先看整副牌,找到最小的那张 把它放到最左边第一个位置 然后在剩下的牌中再找最小的 把它放到第二个位置 以此类推
左哥算法 - 滑动窗口最大值或者最小值的结构更新
核心思想 滑动窗口最大值问题的核心是维护一个双端队列(deque)或者单调队列,这个队列具有以下特点: 队列中存放的是元素的下标 队列从头到尾是严格递减的(如果求最小值则是严格递增) 队列头部始终保持
左哥算法 - 贪心算法
贪心算法的基本知识 1. 什么是贪心算法? 贪心算法就像"只看眼前利益"的决策方式: 每一步都选择当前看起来最优的选择 不考虑这个选择对未来的影响 期望通过局部最优达到全局最优 2. 生动示例 想象你
左哥算法 - 递归算法
递归基本知识 1. 递归的本质 递归就像是一个套娃过程: 大问题包含小问题 小问题还可以继续拆分 直到到达最基本的情况 2. 内存工作原理 用经典的阶乘计算来说明: 当调用 factorial(3)
左哥算法 - 图及其相关算法(二)
1. 拓扑排序算法 拓扑排序 适用于有向无环图(DAG),常用于确定任务的执行顺序。 流程: 统计所有节点的入度 将入度为0的节点加入队列 取出队列中的节点,将其邻居节点的入度减1 如果邻居节点入度变
左哥算法 - 图及其相关算法(一)
1. 图的基本概念 图是由顶点(vertex)和边(edge)组成的数据结构: 顶点:图中的节点 边:连接顶点的线 有向图:边有方向 无向图:边无方向 1. 无向图 2. 有向图 3. 带权图 4.
下一页