常用数据结构
文章平均质量分 87
讲解一些常用的、基础的数据结构。
xiaoyu❅
山有峰顶,海有彼岸。漫漫长途,终有回转。余味苦涩,终有回甘。
展开
-
基础数据结构 -- 堆
综上所述,堆是Java中一种非常重要的基础数据结构,它提供了高效的数据插入和删除操作,广泛应用于堆排序、top k问题等场景。理解堆的基本操作和应用,对于开发者来说非常有益,有助于更好地利用这一数据结构来解决实际问题。原创 2024-06-10 20:02:52 · 798 阅读 · 0 评论 -
基础数据结构 -- 队列
Java中的数据结构队列(Queue)是一种线性表,其特殊之处在于它只允许在表的后端进行插入操作,在表的前端进行删除操作。这种先进先出(FIFO,First In First Out)的结构类似于现实生活中的排队,最早等待的人将最先得到服务。Java中的队列是一种遵循先进先出(FIFO)原则的数据结构,与栈的后进先出(LIFO)特性形成对比。队列在Java的集合框架中具有重要地位,广泛应用于各种数据处理场景,如任务调度、缓冲数据等。原创 2024-06-08 23:41:05 · 884 阅读 · 0 评论 -
基础数据结构 -- 栈
Java中的栈是一种非常重要的数据结构,它遵循后进先出(LIFO)的原则,即最后进入的元素最先被取出。栈在Java中的应用非常广泛,从基本的算法实现到深层次的程序执行机制,都离不开栈的支持。原创 2024-06-08 22:39:36 · 1051 阅读 · 0 评论 -
基础数据结构 -- 图
本章主要介绍了图的两种结构。邻接矩阵表示方法:使用一个二维数组,其中行和列代表图中的顶点,矩阵中的元素表示顶点之间的边。适用场景:适合于稠密图,即图中的边数量接近于顶点数量的平方。优点:查询顶点之间是否存在边的时间复杂度为O(1)。缺点:空间复杂度高,为O(V^2),其中V是顶点数量;更新图(添加或删除顶点和边)的成本较高。邻接表表示方法:使用一个列表数组,每个顶点对应一个列表,列表中包含所有与该顶点相邻的顶点。适用场景:适合于稀疏图,即图中的边数量远少于顶点数量的平方。原创 2024-08-19 17:14:15 · 758 阅读 · 0 评论 -
基础数据结构 -- 数组
由于数组的大小固定的局限性,很多高级语言都会能够动态增长和缩减的数据结构。数组是计算机科学中一种基本的、重要的数据结构,用于存储一系列按顺序排列且类型相同的数据元素。定义和特性数组由固定数量的内存位置组成,每个位置可以存储一个特定类型的值(例如整数、浮点数或字符)。这些内存位置通过连续的索引进行访问,通常从0开始编号。数组在内存中是连续分配的,这使得元素可以通过其索引快速访问。优势高效的随机访问:可以直接通过索引在常数时间内访问任意元素。原创 2024-04-12 16:50:19 · 864 阅读 · 0 评论 -
基础数据结构 -- 二叉树(Binary tree)
二叉树是一种每个节点最多有两个子节点的树形结构,这两个子节点通常被称为左子节点和右子节点。二叉树是计算机科学中的一种重要的数据结构,它在算法设计、数据库系统、操作系统等多个领域都有广泛的应用。二叉树是由一个根节点和两棵互不相交的左子树和右子树组成的有限集合。这两棵子树也分别是二叉树,形成了递归的结构。二叉树是一种非常重要的数据结构,它在计算机科学和信息技术中有着广泛的应用。数据库系统:B树和B+树是数据库索引中常用的平衡多路查找树结构,基于二叉树但每个节点有多个子节点。算法设计。原创 2024-04-09 23:59:12 · 569 阅读 · 1 评论 -
基础数据结构 -- 链表(Linked list)
链表是一种常用的数据结构,其特点是数据的线性排列和动态的存储分配。链表是一种由一系列节点组成,每个节点包含数据和指向下一个节点的指针的数据结构。优点:与数组相比,链表的优势在于能够动态地添加和删除元素,不需要预先分配固定大小的空间。链表的内存开销比数组大,因为它需要额外的空间来存储指针。此外,链表的随机访问性能较差,因为必须从头部开始逐个遍历节点才能访问到目标元素,以及占用更多的内存空间来存储指针信息。实际应用:它们在处理需要频繁插入删除操作的场景下特别有用。实现细节。原创 2024-04-11 18:37:24 · 1036 阅读 · 1 评论