参考资源
参考资源 数据结构操作复杂度速查 数据结构插入删除查找遍历 数组O(n) 中间 / O(1) 末尾O(n) 中间 / O(1) 末尾O(1) 索引 / O(n) 值O(n) 单链表O(1) 头部 / O(n) 尾部O(1) 头部 / O(n) 指定O(n)O(n) 双向链表O(1)(已知位置)O(1)(已知位置)O(n)O(n) 栈O(1)O(1)—— 队列O(1)O(1)—— 优先队列(堆)O(log n)O(log n)——..
数据结构 - 堆
数据结构 - 堆 堆(Heap)是一种特殊的完全二叉树结构,满足堆序性质。堆只保证父子节点之间的大小关系,不要求左右子树之间存在严格的顺序。 堆的定义与存储 .hp-demo { background:#0f0f1a; border-radius:10px; padding:20px; margin:20px auto; max-width:780px; font-family:'SF Mono','..
数据结构 - 图
数据结构 - 图 图(Graph)是一种更为通用的非线性数据结构,用于表示元素之间'多对多'的复杂关系,由顶点和连接顶点的边构成。 图的基本概念 .gr-wrap { background:#0f0f1a; border-radius:10px; padding:24px 20px; margin:20px auto; max-width:780px; font-family:'SF Mono&#..
查找
查找 查找(Search)是指在一组数据中定位某个特定元素是否存在及其具体位置的过程,是几乎所有程序都会涉及的基础操作。 三种查找算法对比 .sc-demo { background:#0f0f1a; border-radius:10px; padding:20px; margin:20px auto; max-width:780px; font-family:'SF Mono','Fira Co..
排序
排序 排序(Sorting)是将一组数据按照特定顺序重新排列的过程,是数据处理中最基础、也是研究最深入的算法问题之一。 排序算法全家福 .so-demo { background:#0f0f1a; border-radius:10px; padding:20px; margin:20px auto; max-width:800px; font-family:'SF Mono','Fira Code..
递归
递归 递归(Recursion)是指一个函数在其定义或执行过程中直接或间接调用自身的编程技巧,核心思想是将复杂问题分解为规模更小但结构相同的子问题。 递归的基本概念 .rc-demo { background:#0f0f1a; border-radius:10px; padding:20px; margin:20px auto; max-width:730px; font-family:'SF Mono',&..
数据结构 - 队列
数据结构 - 队列 队列(Queue)是一种遵循先进先出(First In First Out,FIFO)原则的线性数据结构,可以类比为现实生活中排队买票的场景——最先排队的人最先获得服务。 队列的概念与原理 .q-demo { background:#0f0f1a; border-radius:10px; padding:20px; margin:20px auto; max-width:760px; font-family:..
数据结构 - 优先队列
数据结构 - 优先队列 优先队列(Priority Queue)是队列的一种扩展形式,与普通队列的'先进先出'不同,优先队列中的每个元素都被赋予一个优先级,出队操作总是取出当前队列中优先级最高的元素。 优先队列的概念与特点 可以将其类比为医院急诊室的分诊制度——病情越紧急的患者,即使后到,也会被优先处理。 优先队列的核心操作与普通队列不同: 操作普通队列优先队列 入队 (enqueue)在队尾添加元素插入元素..
数据结构 - 树
数据结构 - 树 树(Tree)是一种典型的非线性数据结构,由节点和连接节点的边构成,用于表示元素之间'一对多'的层级关系。 树的基本术语 .tr-demo { background:#0f0f1a; border-radius:10px; padding:20px; margin:20px auto; max-width:780px; font-family:'SF Mono',..
数据结构 - 哈希表
数据结构 - 哈希表 哈希表(Hash Table)是一种通过哈希函数将键映射到数组中特定位置,从而实现平均 O(1) 时间复杂度查找、插入和删除操作的数据结构。 哈希函数与哈希冲突 .ht-demo { background:#0f0f1a; border-radius:10px; padding:20px; margin:20px auto; max-width:780px; font-family:'SF Mon..