数据结构
文章平均质量分 59
数据结构
大宝贱
介个.....不好说
展开
-
Map简介
中的一种键值对存储结构,用于存储具有唯一键和对应值的元素集合。每个键都是唯一的,可以通过键来访问、修改或删除对应的值。动态大小:映射可以动态增长或缩小,并且支持添加、删除和修改操作。方便根据键获取对应值:通过指定一个键即可获取其对应的值。无序性:在不进行排序操作时,映射中的元素没有固定顺序。不保证顺序稳定性:如果需要按照特定顺序遍历或获取最大。键唯一性:每个键在映射中是唯一的,不允许重复。键值查询:需要根据键快速查找对应值的情况。3、删除指定键及其对应的值。7、获取指定键对应的值。8、修改指定键对应的值。原创 2023-10-19 09:54:18 · 130 阅读 · 0 评论 -
List简介
中的一种线性数据结构,用于存储有序的元素集合。它允许重复元素,并且每个元素都有一个对应的索引来访问和操作。列表可以动态增长或缩小,并且支持添加、删除和修改操作。索引访问:每个元素都有一个对应的索引值,可以使用索引来获取、修改或删除指定位置上的元素。此时可考虑使用链表(方便遍历和搜索操作:提供了方便易用的方法来遍历、搜索和获取子列表等。有序性:在不进行排序操作时,列表中的元素按照插入顺序排列。有序数据:需要按照特定顺序存储和访问元素的情况。需要频繁访问和操作指定位置上的元素。6、获取/修改指定位置上的元素。原创 2023-10-18 11:19:33 · 460 阅读 · 0 评论 -
Set简介
数组是一种简单而强大的数据结构,可以高效地存储和访问固定大小的相同类型元素。中的一种非线性数据结构,用于存储一组唯一元素。它基于数学中的集合概念,不允许重复元素,并且没有固定顺序。快速查找:使用哈希表实现(如HashSet),在平均情况下具有较快的查找速度。无序性:对于同一个集合,在不进行排序操作时,其中元素之间没有固定顺序。可变大小:可以动态增长或缩小,并且支持添加、删除和修改操作。查找和判断:需要快速查找、删除或判断某个元素是否存在。去重:需要存储一组唯一元素,且不关心元素的顺序。原创 2023-10-17 09:26:46 · 99 阅读 · 0 评论 -
Graph简介
组成,每个节点可以与其他节点通过边连接起来。图分为有向图和无向图,顾名思义在有向图中边是有方向的,而在无向图中边是没有方向的。图也可以分为有权图和无权图,有权图是指边具有一个相关联的权重值,无权图是指边没有权重值。实体关系表示:适合用于表示实体对象之间的相互关系,如社交网络中用户之间的好友关系。占用更多内存空间:相比线性结构,图可能需要更多的空间来存储节点和边之间的关系。非线性结构:图中的节点和边形成复杂的连接关系,不同于数组、链表等线性结构。)是一种非线性的数据结构,用于表示节点之间的关系。原创 2023-10-16 10:48:54 · 237 阅读 · 0 评论 -
Queue简介
队列是一种简单而常见的数据结构,它基于先进先出原则,并具有限制访问和动态大小等特点。适用于需要按照特定顺序管理和操作元素的场景,如任务调度、消息传递、广度优先搜索等。在选择是否使用队列时,请考虑其特点及限制,并确保正确处理可能发生的异常情况。空指针异常:当尝试从空(没有任何元素)的队列中获取或删除首个/最后一个元素时,会导致 NullPointerException 异常。限制访问:只能通过队头和对尾对元素进行访问或修改,不允许随机访问。先进先出:最早添加到队列中的元素将首先被移除。查看但不移除队头元素。原创 2023-10-13 09:24:46 · 156 阅读 · 0 评论 -
Tree简介
概念树(Tree)是一种非线性的数据结构,它以分层的方式存储和组织数据。树由节点(Node)和边(Edge)组成。每个节点可以有零个或多个子节点,而除了根节点外,每个节点都有一个父节点。在一棵树中,根节点是位于顶部的唯一一个特殊节点。从根开始,通过边连接到其他子级节点,并且这些子级又可以作为父级来连接更多的子级。没有任何子级的节点称为叶子(Leaf),而具有至少一个子节点的元素被称为内部或非叶子节节点。特点层次结构:每层都从上至下递增地排列,并且父级与其子级之间存在明确关联性。原创 2023-10-12 09:45:20 · 101 阅读 · 0 评论 -
Heap简介
在构建或插入时,需要确保父节点与子节点具有正确的大小关系。如果使用自定义对象作为堆中的元素,请实现正确的比较器来定义大小关系。最小元素的操作,并用于优先队列和排序算法(如堆排序)等场景。堆是一种基于完全二叉树的数据结构,通过父节点与子节点之间的比较来维护其特性。),其中最大堆要求父节点的值大于或等于所有子节点,而最小堆要求父节点的值小于或等于所有子节点。中间位置元素难以访问和更新:要查找、更新或删除非顶部位置上的元素会变得复杂且低效。高效获取最大/最小元素:可以快速获取具有极端值的顶部元素。原创 2023-10-11 11:01:59 · 106 阅读 · 0 评论 -
Stack简介
栈是一种简单而常用的数据结构,它基于后进先出原则,并具有限制访问和动态大小等特点。适用于需要按照特定顺序管理和操作元素的场景,如算术表达式求值、函数调用堆栈等。复杂的遍历操作:栈不支持像数组或链表一样的迭代器,因此不能直接使用循环来遍历栈中的所有元素。空指针异常:当尝试从空(没有任何元素)的堆栈中弹出或查看顶部元素时,会导致。限制访问:只能通过栈顶对元素进行访问或修改,不允许随机访问。后进先出:最新添加到栈中的元素将被第一个移除。需要按照特定顺序管理和操作元素的场景。)原则,即最后压入栈的元素首先弹出。原创 2023-10-10 09:46:26 · 72 阅读 · 0 评论 -
LinkedList简介
总结。原创 2023-10-09 10:56:26 · 543 阅读 · 0 评论 -
Array简介
数组(Array)是Java中最简单的数据结构之一,它用于存储固定大小的相同类型元素序列。数组是一个连续分配的内存块,可以通过索引访问其中的元素。元素在数组中按照顺序排列,并使用整数索引来唯一标识每个元素。数组是一种简单而强大的数据结构,可以高效地存储和访问固定大小的相同类型元素。但由于其固定长度和内存限制,不适合动态操作和较大数据集。在选择是否使用数组时,请考虑具体需求并权衡其优缺点。原创 2023-10-08 09:41:42 · 227 阅读 · 0 评论