首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
数据结构与算法
敖正炀
创建于2025-03-30
订阅专栏
一些常见的数据结构与算法
暂无订阅
共17篇文章
创建于2025-03-30
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
数据结构-高级结构-图
线性表连接的是顺序,树表达的是层级,而图以顶点和边的形式捕捉任意复杂的关系——从社交网络到地图导航,从编译器依赖到互联网拓扑,图无处不在
数据结构-高级结构-跳表
跳表的出现,以“概率平衡”这一哲学突破,巧妙化解了这对矛盾:它用随机数替代复杂的旋转,用局部指针修改替代全局结构调整,在保持期望 O(log n) 的同时,天然适配细粒度锁乃至无锁并发设计。
数据结构-散列结构-散列表
空间换时间的极致哲学——散列表通过哈希函数将键映射为数组索引,让查找、插入和删除在理想情况下均摊为常数时间。它是现代软件系统中最通用的键值容器,却也承载着哈希冲突、扩容重哈希、缓存未命中等深层权衡
数据结构-树形结构-B 树、B+ 树与 LSM 树
B 树利用高扇出大幅压缩树高,将每次查询的磁盘随机读取降到个位数;B+ 树在 B 树基础上将所有数据下沉到有序链表叶子节点,成为关系型数据库范围查询的利器;LSM 树则以完全顺序写入和后台归并的方式,
数据结构-树形结构-完全二叉树与堆
完全二叉树是骨架:堆的逻辑结构是完全二叉树,这保证了最深路径为 ⌊log₂n⌋,且数组存储无指针浪费。 偏序关系:大顶堆(父 ≥ 子)/ 小顶堆(父 ≤ 子),只保证垂直方向有序,不保证水平方向
数据结构-树形结构-有序树形结构(BST AVL 红黑树)
概述 在计算机科学的世界里,二叉搜索树(Binary Search Tree, BST)就像一个优雅的折衷——它将数组的随机访问与链表的快速插入融合在一起,凭借“左小右大”的简单规则
数据结构-树形结构-二叉树
二叉树是数据结构世界中最精妙的发明之一。它通过一个朴素到极致的规则——每个节点至多拥有两个子节点——构建出能够表达层次、排序、决策与优先级的丰富模型
数据结构-线性结构-双端队列
在数据结构的世界中,很少有哪种抽象类型像双端队列(Deque,Double-Ended Queue)这样,以如此“低廉的代价”统一了栈(Stack)的 LIFO 与队列(Queue)的 FIFO
数据结构-线性结构-队列
概述 队列是计算机科学中最基础、最通用的数据结构之一。它以“先进先出”(FIFO)的简洁规则,贯穿了从操作系统内核到分布式消息中间件的几乎每一个软件层面。队列不仅是异步解耦、流量削峰、任务调度的基石
数据结构-线性结构-栈
栈是计算机科学中操作最简单、应用最广泛、抽象最优雅的数据结构之一。它不仅仅是一种数据组织的规则,更是一种深刻的计算哲学——它模拟了现实世界中“嵌套”、“回溯”与“撤销”的普遍模式。
数据结构-线性结构-链表
链表,则以节点的离散分布和指针的灵活链接,赋予了数据动态变化时无与伦比的弹性。它放弃了海量数据的快速跳跃访问,换来了在数据增删时的极致灵活和可预测的 O(1) 时间开销。
数据结构-线性结构-顺序表
顺序表是软件工程中使用最频繁的集合结构,它以一块连续内存为基石,支撑起 O(1) 随机访问和极致的缓存友好遍历,却也因“连续”这一物理约束在插入删除时承受元素搬移之苦。
数据结构概述
数据结构是程序的骨架,它定义了数据的组织方式与操作效率——从线性表到图,从散列表到跳表,每一种结构都是特定问题域下的最优解。
数据结构
以下是常见数据结构的详细解释及Java示例代码,结合了知识库中的核心概念和实现细节: 1. 数组(Array) 特点: 线性结构,内存连续,固定大小。 优点:快速随机访问(O(1))。 缺点:插入/删
排序算法
排序算法涵盖冒泡(稳定O(n²))、快速(O(n log n))、归并(稳定O(n log n))、堆排序(O(n log n))、计数排序(O(n+k)稳定),选型需结合数据规模、稳定性及内存限制。
红黑树
红黑树是一种高效的自平衡二叉搜索树,能够在插入、删除等操作后通过特定规则保持近似平衡,从而保证最坏情况下 (O(\log n)) 的时间复杂度。
跳表
跳表是一种基于多层有序链表的数据结构,通过构建多级索引提升查询效率,实现近似平衡树的性能(平均 (O(\log n)) 时间复杂度),但实现更简单,适合高并发场景