
数据结构
文章平均质量分 88
涵盖了大部分数据结构的介绍于知识
Katie。
欢迎来到我的博客!我是一个热爱计算机技术的博主,专注于分享编程、算法、软件开发、系统架构等多个领域的知识与实践经验。无论你是初学者还是资深开发者,这里都有适合你的内容,从基础概念到前沿技术,从代码实现到项目实战,助你提升技能、拓展视野。
我相信编程不仅仅是一门技术,更是一种创造力的展现。希望通过我的博客,让更多人感受到代码的魅力,并激励大家不断学习、探索、成长。一起交流、分享,让技术的火花点燃无限可能!
展开
-
游程编码 (Run-length Encoding)详细解读
游程编码 (Run-length Encoding)详细解读原创 2024-11-14 08:00:00 · 2924 阅读 · 0 评论 -
策略模式、状态机详细解读
策略模式适用于有多种算法可供选择的场景,能够在运行时灵活选择算法,提高系统的扩展性。状态机适合复杂状态管理的场景,能够清晰地定义对象在不同状态下的行为,并有效处理状态之间的转换。两者虽然解决的问题不同,但在实际应用中可以结合使用,以构建更加灵活和健壮的系统。原创 2024-11-13 08:00:00 · 1099 阅读 · 0 评论 -
字典树、前缀树 (Prefix Tree)详细解读
字典树、前缀树 (Prefix Tree)详细解读原创 2024-11-13 08:00:00 · 1129 阅读 · 0 评论 -
自适应数据结构、自适应哈希表 (Adaptive Hash Table)详细介绍
自适应数据结构、自适应哈希表 (Adaptive Hash Table)详细介绍原创 2024-11-12 16:24:45 · 1148 阅读 · 0 评论 -
时间序列数据结构、持久数据结构详细解读
时间序列数据结构、持久数据结构详细解读原创 2024-11-12 16:22:46 · 854 阅读 · 0 评论 -
跳表、随机哈希表详细解读
随机化数据结构 是通过引入随机性来优化传统数据结构的性能,特别是在最坏情况性能表现较差时。通过随机化,许多原本具有较差时间复杂度的操作可以实现 平均 O(1) 或 O(log n) 的时间复杂度,减少了最坏情况下的复杂度。常见的随机化数据结构包括 随机链表、随机树、跳表、随机哈希表原创 2024-11-11 11:32:48 · 718 阅读 · 0 评论 -
随机链表 (Randomized Linked List)、随机树 (Randomized Tree)详细解读
随机化数据结构 是通过引入随机性来优化传统数据结构的性能,特别是在最坏情况性能表现较差时。通过随机化,许多原本具有较差时间复杂度的操作可以实现 平均 O(1) 或 O(log n) 的时间复杂度,减少了最坏情况下的复杂度。原创 2024-11-11 11:29:57 · 1221 阅读 · 0 评论 -
LSM树 (Log-Structured Merge Tree)、Cuckoo Hashing详细解读
LSM树 (Log-Structured Merge Tree)、Cuckoo Hashing详细解读原创 2024-11-10 08:00:00 · 897 阅读 · 0 评论 -
八叉树Octree、KD树数据结构详细解读
八叉树Octree、KD树这两种树结构在其各自的应用领域中都具有显著优势,选择合适的数据结构取决于具体的应用需求和数据特性。原创 2024-11-10 08:00:00 · 1908 阅读 · 0 评论 -
R树、Quad树 (Quad Tree)数据结构详细解读
这两种数据结构在空间数据管理中各有其优势和局限,选择合适的数据结构取决于具体应用场景的需求。原创 2024-11-09 08:00:00 · 1445 阅读 · 0 评论 -
二项堆 (Binomial Heap)、Fibonacci 堆详细解读
这就是 二项堆 和 Fibonacci 堆 的详细介绍,它们在优先队列问题上都具有重要应用,特别是 Fibonacci 堆以其更优的摊还时间复杂度在复杂算法中占有一席之地。原创 2024-11-09 08:00:00 · 1701 阅读 · 0 评论 -
最大堆、最小堆数据结构详细解读
堆广泛用于优先队列、排序算法(如堆排序)、调度系统等场景。下面是对最大堆和最小堆的详细介绍。原创 2024-11-08 13:43:29 · 1959 阅读 · 0 评论 -
并查集之路径压缩、按秩合并详细解读
路径压缩(Path Compression) 和 按秩合并(Union by Rank) 是提升 并查集(Disjoint Set Union,DSU) 数据结构效率的两种优化策略。并查集是一种常用于解决动态连通性问题的数据结构,特别适合用于处理一些不相交集合的合并与查询操作,如判断两个元素是否属于同一集合、网络连通性检测等。原创 2024-11-08 13:39:44 · 1045 阅读 · 0 评论 -
Suffix Tree (后缀树)、Suffix Array (后缀数组)、LZW树详细解读
以下是 后缀树(Suffix Tree)、后缀数组(Suffix Array) 以及 LZW树 的详细介绍,包括定义、原理、优缺点和应用场景。原创 2024-11-07 08:55:52 · 1162 阅读 · 0 评论 -
位图 (Bitmap)、Trie (字典树)详细介绍
位图(Bitmap) 和 字典树(Trie) 的详细介绍,包括定义、原理、优缺点及应用场景。原创 2024-11-07 08:52:08 · 835 阅读 · 0 评论 -
计数哈希表 、反向哈希表详细解读
计数哈希表(Counting Hash Table) 和 反向哈希表(Inverse Hash Table) 的详细介绍,包括它们的定义、特点、优缺点和应用场景。原创 2024-11-06 09:01:20 · 673 阅读 · 0 评论 -
开放寻址法、链式哈希数据结构详细解读
开放寻址法在低负载因子时效率较高,而链式哈希在高负载因子下表现更稳定。原创 2024-11-06 08:56:39 · 1203 阅读 · 0 评论 -
哈希表(Hash Table)、跳表(Skip List) 和 有序字典(Ordered Dictionary) 的详细介绍
关于 哈希表(Hash Table)、跳表(Skip List) 和 有序字典(Ordered Dictionary) 的详细介绍原创 2024-11-05 11:22:05 · 1158 阅读 · 0 评论 -
集合数据结构之哈希集、有序集合
关于 集合(Set) 及其两种实现——哈希集(Hash Set) 和 有序集合(Sorted Set) 的详细介绍原创 2024-11-05 11:17:25 · 1002 阅读 · 0 评论 -
非线性数据结构之图
边列表 和 有向无环图(DAG, Directed Acyclic Graph) 的详细介绍原创 2024-11-04 09:23:49 · 878 阅读 · 0 评论 -
非线性数据结构之图
无环图 以及 邻接矩阵 和 邻接表 的详细介绍原创 2024-11-04 09:19:37 · 974 阅读 · 0 评论 -
非线性数据结构之图
有向图、无向图 和 加权图 的详细介绍,包括定义、特点、优缺点、应用场景及示例原创 2024-11-03 08:00:00 · 1121 阅读 · 0 评论 -
非线性数据结构之树
Fenwick 树与归并树都在区间查询中发挥着重要作用,但其适用场景不同。Fenwick 树适用于动态更新场景,而归并树适用于静态数据集的复杂查询。原创 2024-11-03 08:00:00 · 791 阅读 · 0 评论 -
非线性数据结构之树
多叉树和高级树结构在数据库、文件系统、图像处理、查询优化等领域非常重要。以下是关于 N 叉树、B 树、B+ 树、B 树*、线段树 (Segment Tree) 的详细介绍。原创 2024-11-03 08:00:00 · 974 阅读 · 0 评论 -
非线性数据结构之树
二叉树、完全二叉树、满二叉树、二叉搜索树 (BST)、平衡树、AVL 树、红黑树、Splay 树二叉树是一种每个节点最多有两个子节点的数据结构,通常用于构建更复杂的数据结构如搜索树、堆等。二叉树因其结构特点和多样性,在计算机科学中被广泛应用于数据存储、查找、排序等场景原创 2024-11-02 08:00:00 · 628 阅读 · 0 评论 -
线性数据结构之队列
队列(Queue)是一种先进先出(First In, First Out,FIFO)数据结构。队列的基本操作包括入队(Enqueue)和出队(Dequeue),其中入队在队尾插入新元素,出队从队首移除元素。与栈不同,队列适合处理“排队”或“资源调度”的场景。根据不同的需求,队列可以分为普通队列、循环队列、双端队列(Deque)和优先队列(Priority Queue)等多种类型。以下将对这些类型进行详细介绍。原创 2024-11-02 08:00:00 · 2218 阅读 · 0 评论 -
线性数据结构之栈结构
栈(Stack)是一种线性数据结构,遵循“后进先出”(Last In, First Out,LIFO)的原则。栈主要有两种基本操作:push(入栈)和 pop(出栈)。在栈中,最新添加的元素最先被移除,类似于一摞盘子:放在最上面的盘子是最后放上去的,但却是最先拿走的。原创 2024-11-01 08:00:00 · 1155 阅读 · 0 评论 -
线性数据结构之链表
单链表、双向链表、循环链表、哨兵链表在不同场景下的应用优势。每种链表类型在特定应用场景中能够发挥其独特的性能优势,通过选择合适的数据结构可以使程序更高效。原创 2024-10-31 13:56:46 · 745 阅读 · 0 评论 -
线性数据结构之数组
数组是一种数据结构,用于存储多个相同类型的元素。在许多编程语言中,数组是最基本的数据结构之一,常用于管理和处理数据。数组的元素在内存中是连续存储的,可以通过索引直接访问。原创 2024-10-31 13:52:21 · 519 阅读 · 0 评论 -
排序算法之二叉树排序详细解读(附带Java代码解读)
二叉树排序是一种有趣的排序方法,适用于需要基于树的操作的场景。尽管在最坏情况下性能不如一些高效的排序算法(如快速排序和归并排序),但它的排序过程非常自然地利用了树的结构。原创 2024-09-02 09:37:51 · 1704 阅读 · 0 评论 -
栈数据结构的详解(java栈内存)
栈内存是计算机中一种用于管理方法调用和局部变量的内存区域。它以栈这种后进先出(LIFO)的数据结构为基础,每个方法调用都会在栈内存中创建一个栈帧,存储该方法的局部变量、操作数、返回地址等信息。本文对栈数据结构以及Java栈内存进行解读原创 2024-08-23 15:01:18 · 836 阅读 · 0 评论 -
堆数据结构的详解(java堆内存)
堆(Heap)是一种特殊类型的数据结构,通常用于实现优先队列。 在这个基于Python的数据结构实现中, 堆是一个完全二叉树,堆数据的详细解读原创 2024-08-23 14:51:50 · 734 阅读 · 0 评论