
数据结构
文章平均质量分 94
在我的专栏中,我将从最基础的数据结构开始介绍,比如数组、链表、栈和队列。我会通过通俗易懂的语言和生动的例子,让大家轻松理解这些概念,并能够灵活运用到实际编程中。除了基础的数据结构,我还将介绍一些更为复杂和高级的数据结构,比如树、图和哈希表等。
luming.02
阿里云专家博主 | 华为云云享专家 | 2023年延安市博客之星第一名 | 致力于专研 JavaSE/JavaEE | 数据结构与算法 | 数据库 | 计算机网络 | 致力于Java领域的优质博客分享,永远怀着一颗学徒的心
展开
-
数据结构:图文详解 搜索二叉树(搜索二叉树的概念与性质,查找,插入,删除)
搜索二叉树(Binary Search Tree,简称BST)是一种树形数据结构,具有以下性质:1. 每个节点最多有两个子节点,分别称为左子节点和右子节点。2. 左子节点的值小于父节点的值,右子节点的值大于父节点的值。3. 中序遍历BST得到的序列是有序的。BST提供了快速的插入、删除和搜索操作,因为它能够通过比较节点值来减少搜索的范围。比如,要搜索一个值为x的节点,可以从根节点开始,如果x小于当前节点的值,则继续在左子树中搜索,如果x大于当前节点的值,则继续在右子树中搜索。重复这个过程,直到找原创 2024-02-01 12:32:23 · 2046 阅读 · 64 评论 -
数据结构:图文详解 树与二叉树(树与二叉树的概念和性质,存储,遍历)
树是一种非线性数据结构,它由节点和边组成。树的每个节点可以有零个或多个子节点,其中一个节点被指定为根节点。树的节点之间通过边连接。另外,树形结构中,子树之间不能有交集,否则就不是树形结构。树的结构具有层级关系,根节点位于最顶层,而叶节点位于最底层。树的形状可以类比于现实生活中的树,根节点相当于树的根部,而分支和叶子节点则相当于树的枝干和叶子。原创 2023-12-26 17:19:19 · 6013 阅读 · 81 评论 -
数据结构:图文详解 队列 | 循环队列 的各种操作(出队,入队,获取队列元素,判断队列状态)
队列(Queue)是一种数据结构,是一种先进先出(First-In-First-Out,FIFO)的线性数据结构。它只允许在列表的一端进行插入操作(入队),在另一端进行删除操作(出队),即队头进行删除操作,队尾进行插入操作。队列常用的操作有入队(Enqueue)、出队(Dequeue)、获取队头元素(Front/Peek)、获取队列长度(Size/Length)等。队列的特点是按照元素加入的先后顺序进行操作,先加入队列的元素会先被取出,后加入的元素会后被取出。循环队列解决了普通队列的一些缺点,如空间浪费原创 2023-12-18 14:23:15 · 17334 阅读 · 99 评论 -
数据结构:栈(Stack)的各种操作(入栈,出栈,判断栈非空,判断栈已满,附源码)
栈是一种先进后出(LIFO)的数据结构,在其中元素的的添加(称为“入栈”)和删除(称为“出栈”)仅在栈的顶部进行。因此,最后一个插入到栈中的元素是第一个从栈中删除的元素。它通常有两个主要操作:1. push:在栈的顶部插入一个元素。2. pop:从栈的顶部移除一个元素。除此之外,也可以进行一些其他的操作,例如查询栈顶元素、获取栈的大小、判断栈是否为空等。栈可以用于很多应用,例如表达式求值、函数调用等。原创 2023-12-12 13:16:46 · 11593 阅读 · 90 评论 -
数据结构:图文详解双向链表的各种操作(头插法,尾插法,任意位置插入,查询节点,删除节点,求链表的长度... ...)
双向链表(Doubly Linked List)是一种数据结构,它与单向链表相似,但每个节点不仅包含指向下一个节点的指针,还包含指向上一个节点的指针。双向链表的每个节点通常包含以下两个指针:- prev:指向上一个节点;- next:指向下一个节点。通过这两个指针,可以在双向链表中沿着两个方向遍历。相比于单向链表,双向链表能够更方便地进行插入和删除操作。因为每个节点包含指向前一个节点的指针,所以在删除或插入一个节点时,只需要修改该节点前后节点的指针即可。而在单向链表中,则需要... ...原创 2023-12-03 18:22:36 · 5496 阅读 · 106 评论 -
数据结构:图文详解单链表的各种操作(头插法,尾插法,任意位置插入,删除节点,查询节点,求链表的长度,清空链表)
链表是一种数据结构,它由一系列节点(node)构成,每个节点中包含了数据(data)和指向下一个节点的指针(next)。链表中的节点可以在内存中任何位置,它们通过指针链接在一起,形成一个链式结构。链表相对于数组的优点在于它可以动态地增加、删除节点,而不需要移动大量的数据。链表的缺点是访问元素时需要遍历整个链表,效率较低。原创 2023-12-02 10:41:28 · 3471 阅读 · 57 评论 -
数据结构:图文详解顺序表的各种操作(新增元素,查找元素,删除元素,给指定位置元素赋值)
在线性数据结构中,我们一般分为俩类:顺序表和链表顺序表是一种线性数据结构,是数据元素按照线性顺序存储的数据结构,通常使用数组实现。顺序表中的元素以一定的顺序排列,每个元素都可以通过下标来进行访问。顺序表支持随机访问,可以快速地访问任意一个元素,但插入或删除元素时需要移动其余元素,效率较低。顺序表在内存中是一个连续的存储区域,数据元素紧密相邻存储,因此随机访问速度快。由于顺序表容量固定,当元素数量超过容量时需要重新分配内存空间,这可能会导致操作的耗时和内存使用的增加。原创 2023-11-30 22:28:58 · 2871 阅读 · 72 评论