数据结构 学习笔记
文章平均质量分 89
数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关。
梁辰兴
深情不及久伴,紘爱无需多言。
展开
-
数据结构:数组
数组(Array)是一种常见的数据结构,用于存储相同类型的元素集合。在Java中,数组是一种简单的数据结构,可以通过索引访问数组中的元素。简介数组是一种线性数据结构,可以容纳多个相同类型的元素。数组中的每个元素都具有一个唯一的索引,用于访问该元素。数组的大小在创建时确定,并且不能在运行时更改。图示上述图示表示一个包含12个元素的整数数组。每个元素都有一个唯一的索引,从0开始递增。示例// 创建一个包含5个元素的整数数组// 通过索引访问和修改数组元素// 打印数组中的元素。原创 2023-09-17 08:24:39 · 215 阅读 · 0 评论 -
数据结构:红黑树
红黑树(Red-Black Tree)是一种自平衡的二叉搜索树,它在保持二叉搜索树的特性的同时,通过颜色标记和旋转操作来维护树的平衡,从而保证了树的高度始终在O(log n)的范围内,其中n是树中节点的数量。简介红黑树是一种自平衡的二叉搜索树,它通过对节点进行颜色标记和旋转操作来维护树的平衡。红黑树的节点分为红色和黑色两种颜色,根节点总是黑色的,每个叶子节点(NIL节点,空节点)都是黑色的。红黑树满足以下5个性质:每个节点要么是红色的,要么是黑色的。根节点是黑色的。原创 2023-09-17 09:29:06 · 143 阅读 · 0 评论 -
数据结构:平衡二叉树
平衡二叉树(Balanced Binary Tree)是一种特殊的二叉树,它满足任意一个节点的左子树和右子树的高度差不超过1。平衡二叉树的主要优势在于其能够保持较低的树高,从而在插入、删除和查找操作中保持较好的性能。简介平衡二叉树是一种自我平衡的二叉搜索树,它的左子树和右子树的高度差不超过1。平衡二叉树的基本操作包括插入、删除和查找,这些操作的时间复杂度均为O(log n),其中n为树中节点的数量。平衡二叉树的主要应用场景包括计算机科学、数据结构和算法等领域。图示50/ \30 70。原创 2023-09-17 09:23:32 · 485 阅读 · 0 评论 -
数据结构:二叉查找树
二叉查找树(Binary Search Tree,简称BST)是一种特殊的二叉树,其中每个节点都有一个可比较的键和一个关联的值,且对于每个节点,其左子树的所有键都小于节点的键,而右子树的所有键都大于节点的键。简介二叉查找树是一种自我平衡的二叉树,它的中序遍历会得到一个升序的序列。二叉查找树的每个节点都包含一个键和一个值,其中键用于保持树的排序,而值则可以是任何类型的数据。二叉查找树的主要操作包括插入、查找和删除。图示50/ \30 70/ \ / \原创 2023-09-17 08:57:12 · 1059 阅读 · 0 评论 -
数据结构:二叉树
二叉树(Binary Tree)是Java中一种常见的数据结构,每个节点最多有两个子节点,通常被称为左子节点和右子节点。二叉树的每个元素都有一个键,通过这个键可以从树中找到该元素。简介二叉树是一种非线性数据结构,由一些称为节点的对象组成,其中每个节点最多有两个子节点,通常称为左子节点和右子节点。二叉树的根是没有父节点的节点,叶子是没有子节点的节点。二叉树的高度是从根到所有叶子节点的最长路径上的节点数。二叉树有多种类型,如满二叉树、完全二叉树、平衡二叉树等。图示1/ \2 3/ \原创 2023-09-17 08:32:33 · 166 阅读 · 0 评论 -
数据结构:链表
链表(Linked List)是Java中常见的一种数据结构,它由一系列节点组成,每个节点包含两部分:数据和指向下一个节点的引用。链表可以分为单向链表、双向链表和循环链表三种类型。简介链表是一种线性数据结构,用于存储有序的元素集合。链表由一系列节点组成,每个节点包含一个数据元素和一个指向下一个节点的引用(指针)。链表中的元素可以通过遍历链表来访问,每个节点都有一个指向下一个节点的引用,直到达到链表的末尾。链表可以分为单向链表、双向链表和循环链表三种类型。原创 2023-09-17 08:19:28 · 406 阅读 · 0 评论 -
数据结构:队列
队列(Queue)是另一种常见的数据结构,它是一种特殊的线性表,只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作。队列中没有元素时,称为空队列。在队列这种数据结构中,最先插入的元素总是位于队列的最前端,最早被删除。简介队列是一种特殊的线性表,具有特殊的添加和删除规则。队列只允许在表的后端添加元素,而在前端删除元素。队列中的元素按照添加的顺序排列,即先添加的元素在队列的前端,后添加的元素在队列的后端。图示Rear Front。原创 2023-09-17 08:22:20 · 259 阅读 · 0 评论 -
数据结构:栈
栈(Stack)是一种常见的数据结构,它是一种线性结构,具有特殊的添加和删除规则。栈的特性是后进先出(LIFO,Last In First Out):最后一个添加到栈中的元素将是最先被删除的元素。简介栈是一种线性数据结构,意味着数据在栈中的排序是按照它们加入的顺序。栈遵循 LIFO(Last In First Out)原则,这意味着最后一个添加到栈中的元素将是第一个被移除的元素。栈只允许在同一端(称为“顶部”)进行添加和删除操作。这一端通常被称为“栈顶”,另一端被称为“栈底”。原创 2023-09-16 22:07:52 · 476 阅读 · 0 评论 -
数据结构:线性表
线性表是最基本、最简单、也是最常用的一种数据结构。线性表(linear list)是数据结构的一种,一个线性表是n个具有相同特性的数据元素的有限序列。线性表中数据元素之间的关系是一对一的关系,即除了第一个和最后一个数据元素之外,其它数据元素都是首尾相接的(注意,这句话只适用大部分线性表,而不是全部。比如,循环链表逻辑层次上也是一种线性表(存储层次上属于链式存储,但是把最后一个数据元素的尾指针指向了首位结点)。原创 2023-03-21 10:48:34 · 2236 阅读 · 0 评论