
数据结构与算法
文章平均质量分 95
本专栏会介绍数据结构学习过程中总结的知识点和常见的问题
艾莉丝努力练剑
效法羲和驭天马,志在长空牧群星!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【数据结构与算法】数据结构初阶:排序内容加餐(二)——文件归并排序思路详解(附代码实现)
本篇文章,我们继续来介绍排序相关拓展的加餐部分的知识点,在初阶的数据结构与算法阶段,我们把知识点分成三部分,复杂度作为第一部分,顺序表和链表、栈和队列、二叉树为第二部分,排序为第二部分,我们之前已经介绍完了第一部分:算法复杂度和第二部分:顺序表和链表、栈和队列、二叉树。本文我们继续学习第三部分中的排序的内容。原创 2025-08-03 13:18:55 · 680 阅读 · 1 评论 -
【数据结构与算法】数据结构初阶:排序内容加餐(一)——快速排序:三路划分、自省排序
本篇文章,我们继续来介绍排序相关的知识点,在初阶的数据结构与算法阶段,我们把知识点分成三部分,复杂度作为第一部分,顺序表和链表、栈和队列、二叉树为第二部分,排序为第二部分,我们之前已经介绍完了第一部分:算法复杂度和第二部分:顺序表和链表、栈和队列、二叉树。本文我们继续开始学习第三部分中的排序的内容啦。原创 2025-08-01 11:50:10 · 990 阅读 · 1 评论 -
【日常问题解决方案】VS2022不小心解决方案资源管理器把关掉了怎么办
本文内容到这里就结束了,希望对大家有所帮助!下面的代码是只是为了凑凑字数,大家直接忽略就好啦。原创 2025-07-31 19:04:42 · 447 阅读 · 4 评论 -
【数据结构与算法】数据结构初阶:详解排序(四)——非比较排序:计数排序(鸽巢原理)——对哈希直接定址法的变形应用,排序算法复杂度及稳定性分析
重要提醒:为什么我们要学那么多的数据结构?这是因为没有一种数据结构能够去应对所有场景。我们在不同的场景需要选择不同的数据结构,所以数据结构没有谁好谁坏之分,而评估数据结构的好坏要针对场景,如果在一种场景下我们需要频繁地对头部进行插入删除操作,那么这个时候我们用链表;但是如果对尾部进行插入删除操作比较频繁,那我们用顺序表比较好。因此,不同的场景我们选择不同的数据结构。重要提醒:为什么我们要学那么多的数据结构?这是因为没有一种数据结构能够去应对所有场景。原创 2025-07-31 16:50:13 · 724 阅读 · 1 评论 -
【数据结构与算法】数据结构初阶:详解排序(三)——归并排序:递归版本和非递归版本
重要提醒:为什么我们要学那么多的数据结构?这是因为没有一种数据结构能够去应对所有场景。我们在不同的场景需要选择不同的数据结构,所以数据结构没有谁好谁坏之分,而评估数据结构的好坏要针对场景,如果在一种场景下我们需要频繁地对头部进行插入删除操作,那么这个时候我们用链表;但是如果对尾部进行插入删除操作比较频繁,那我们用顺序表比较好。因此,不同的场景我们选择不同的数据结构。重要提醒:为什么我们要学那么多的数据结构?这是因为没有一种数据结构能够去应对所有场景。原创 2025-07-28 08:45:00 · 728 阅读 · 5 评论 -
【数据结构与算法】数据结构初阶:详解排序(二)——交换排序中的快速排序
1、原创 2025-07-27 12:45:23 · 1618 阅读 · 2 评论 -
【牛客&LeetCode&数据结构】二叉树的应用(三)——二叉树的最大深度问题、二叉树的遍历问题详解
前言:牛客网和LeetCode的刷题都不可或缺,我们都要做一做,无论是参加竞赛还是笔试面试,至少能提升你的代码能力!洛谷的题目也可以去做一做。力扣的题目对提升代码能力很有帮助,需要有一点基础,几乎都是接口型的题目,关于接口型和IO型的区别我们在本专栏的第一篇中就介绍过了,这里不再赘述,我们进入今天的力扣题目介绍——原创 2025-07-27 12:00:00 · 601 阅读 · 1 评论 -
【数据结构与算法】数据结构初阶:详解排序(一)——插入排序、选择排序以及交换排序中的冒泡排序
1、在元素集合中选择关键码最大(小)的数据元素;2、若它不是这组元素中的最后一个(第一个)元素,则将它与这组元素中的最后一个(第一个)元素进行交换;3、在剩余的集合中,重复上述步骤,直到集合剩余1个元素。【数据结构与算法】数据结构初阶:详解二叉树(五)——链式结构二叉树(下):二叉树的链式结构的实现简单回顾一下:堆排序(Heapsort)是指利用堆积树(堆)这种数据结构所设计的一种排序算法,它是选择排序的一种。它是通过堆来进行选择数据。这里需要注意的是排升序要建大堆,排降序建小堆。原创 2025-07-26 08:30:00 · 624 阅读 · 1 评论 -
【LeetCode&数据结构】二叉树的应用(二)——二叉树的前序遍历问题、二叉树的中序遍历问题、二叉树的后序遍历问题详解
前言:牛客网和LeetCode的刷题都不可或缺,我们都要做一做,无论是参加竞赛还是笔试面试,至少能提升你的代码能力!洛谷的题目也可以去做一做。力扣的题目对提升代码能力很有帮助,需要有一点基础,几乎都是接口型的题目,关于接口型和IO型的区别我们在本专栏的第一篇中就介绍过了,这里不再赘述,我们进入今天的力扣题目介绍——原创 2025-07-25 14:50:31 · 891 阅读 · 0 评论 -
【数据结构与算法】数据结构初阶:详解二叉树(六)——二叉树应用:二叉树选择题
我们根据后序遍历可知,A是根节点——A的左子树:JGDHKB,A的右子树:ELIMCF;A的左子树的根:B,A的右子树的根:C;B的左子树:JGDHK,B的右子树:空,C的左子树:ELIM,C的右子树:F;B的左子树的根:D,C的左子树根:E;D的左子树的根:G,D的右子树的根:H,E的右子树的根:I。原创 2025-07-25 08:46:43 · 1048 阅读 · 0 评论 -
【LeetCode&数据结构】二叉树的应用(一)——单值二叉树问题、相同的树问题、对称二叉树问题、另一棵树的子树问题详解
前言:牛客网和LeetCode的刷题都不可或缺,我们都要做一做,无论是参加竞赛还是笔试面试,至少能提升你的代码能力!洛谷的题目也可以去做一做。力扣的题目对提升代码能力很有帮助,需要有一点基础,几乎都是接口型的题目,关于接口型和IO型的区别我们在本专栏的第一篇中就介绍过了,这里不再赘述,我们进入今天的力扣题目介绍——原创 2025-07-24 19:34:18 · 754 阅读 · 1 评论 -
【数据结构与算法】数据结构初阶:详解二叉树(五)——链式结构二叉树(下):二叉树的链式结构的实现
创建全局变量,多次调用方法会出现累加的情况。原创 2025-07-24 08:45:00 · 953 阅读 · 0 评论 -
【LeetCode&数据结构】栈和队列的应用——设计循环队列问题详解
/结构体定义int* arr;int front;//队头int rear;//队尾//循环队列的空间大小。原创 2025-07-23 15:54:23 · 857 阅读 · 0 评论 -
【数据结构与算法】数据结构初阶:详解二叉树(四)——链式结构二叉树(上):前中后序遍历、创建一棵链式二叉树
🔥❄🍉⭐️重要提醒:为什么我们要学那么多的数据结构?这是因为没有一种数据结构能够去应对所有场景。我们在不同的场景需要选择不同的数据结构,所以数据结构没有谁好谁坏之分,而评估数据结构的好坏要针对场景,如果在一种场景下我们需要频繁地对头部进行插入删除操作,那么这个时候我们用链表;但是如果对尾部进行插入删除操作比较频繁,那我们用顺序表比较好。因此,不同的场景我们选择不同的数据结构。前言。原创 2025-07-23 08:45:00 · 1137 阅读 · 0 评论 -
【LeetCode&数据结构】栈和队列的应用——用队列实现栈问题、用栈实现队列问题详解
🔥❄🍉⭐️前言:牛客网和LeetCode的刷题都不可或缺,我们都要做一做,无论是参加竞赛还是笔试面试,至少能提升你的代码能力!洛谷的题目也可以去做一做。力扣的题目对提升代码能力很有帮助,需要有一点基础,几乎都是接口型的题目,关于接口型和IO型的区别我们在本专栏的第一篇中就介绍过了,这里不再赘述,我们进入今天的力扣题目介绍——原创 2025-07-22 17:45:00 · 721 阅读 · 0 评论 -
【数据结构与算法】数据结构初阶:详解二叉树(三)——堆(续):向上向下调整算法的证明及时间复杂度、TOP-K问题详解
重要提醒:为什么我们要学那么多的数据结构?这是因为没有一种数据结构能够去应对所有场景。我们在不同的场景需要选择不同的数据结构,所以数据结构没有谁好谁坏之分,而评估数据结构的好坏要针对场景,如果在一种场景下我们需要频繁地对头部进行插入删除操作,那么这个时候我们用链表;但是如果对尾部进行插入删除操作比较频繁,那我们用顺序表比较好。因此,不同的场景我们选择不同的数据结构。原创 2025-07-22 01:47:37 · 928 阅读 · 1 评论 -
【LeetCode&数据结构】栈的应用——有效的括号问题详解
前言:牛客网和LeetCode的刷题都不可或缺,我们都要做一做,无论是参加竞赛还是笔试面试,至少能提升你的代码能力!洛谷的题目也可以去做一做。力扣的题目对提升代码能力很有帮助,需要有一点基础,几乎都是接口型的题目,关于接口型和IO型的区别我们在本专栏的第一篇中就介绍过了,这里不再赘述,我们进入今天的力扣题目介绍——原创 2025-07-21 13:02:53 · 986 阅读 · 1 评论 -
【LeetCode&数据结构】单链表的应用——环形链表问题详解
🔥前言:牛客网和LeetCode的刷题都不可或缺,我们都要做一做,无论是参加竞赛还是笔试面试,至少能提升你的代码能力!洛谷的题目也可以去做一做。力扣的题目对提升代码能力很有帮助,需要有一点基础,几乎都是接口型的题目,关于接口型和IO型的区别我们在本专栏的第一篇中就介绍过了,这里不再赘述,我们进入今天的力扣题目介绍——原创 2025-07-20 22:53:20 · 1214 阅读 · 1 评论 -
【数据结构与算法】数据结构初阶:详解二叉树(一)
链接: 【深入详解】函数栈帧的创建与销毁:寄存器、压栈、出栈、调用、回收空间正文 一、树(一)树的概念与结构1、概念与结构2、非树形结构3、注意事项(二)树的相关术语整理(三)树的表示方法——孩子兄弟表示法:(四)树的实际应用场景二、二叉树 (一)二叉树的概念与结构1、概念2、结构 (二)一些特殊的二叉树1、满二叉树2、完全二叉树 3、二叉树存储结构(1)顺序结构 (2)链表结构结尾树是什么?数据结构中的树和自然界中的树有什么联系吗?有。树是一种非线性的数据结构,它是由n(n>=0)个有限结点组成一个具有原创 2025-07-20 08:53:33 · 1339 阅读 · 1 评论 -
【数据结构与算法】数据结构初阶:详解栈和队列(下)——队列
我们队列结构体的定义需要两个结构体——struct ListNode //节点的结构struct Queue //队列//指向队头节点的指针//指向队尾节点的指针。原创 2025-07-19 09:00:00 · 1232 阅读 · 1 评论 -
【数据结构与算法】数据结构初阶:详解栈和队列(上)——栈
🔥前言:本篇文章,我们继续来看顺序表和链表相关的知识点,在初阶的数据结构与算法阶段,我们把知识点分成三部分,复杂度作为第一部分,顺序表和链表、栈和队列、二叉树为第二部分,排序为第二部分,我们之前已经介绍完了第一部分:算法复杂度,本文我们继续学习第二部分中的栈和队列部分内容啦。再次提醒:为什么我们要学那么多的数据结构?这是因为没有一种数据结构能够去应对所有场景。原创 2025-07-18 08:34:04 · 972 阅读 · 3 评论 -
【数据结构与算法】数据结构初阶:详解顺序表和链表(五)——双向链表
本篇文章,我们继续来看顺序表和链表相关的知识点,在初阶的数据结构与算法阶段,我们把知识点分成三部分,复杂度作为第一部分,顺序表和链表、栈和队列、二叉树为第二部分,排序为第二部分,我们之前已经介绍完了第一部分:算法复杂度,本文我们继续学习第二部分中的顺序表和链表部分内容啦。再次提醒:为什么我们要学那么多的数据结构?这是因为没有一种数据结构能够去应对所有场景。原创 2025-07-17 08:31:27 · 1165 阅读 · 3 评论 -
【LeetCode&数据结构】单链表的应用——随机链表的复制问题、相交链表问题详解
牛客网和LeetCode的刷题都不可或缺,我们都要做一做,无论是参加竞赛还是笔试面试,至少能提升你的代码能力!洛谷的题目也可以去做一做。力扣的题目对提升代码能力很有帮助,需要有一点基础,几乎都是接口型的题目,关于接口型和IO型的区别我们在本专栏的第一篇。原创 2025-07-16 08:53:33 · 971 阅读 · 2 评论 -
【牛客&LeetCode&数据结构】单链表的应用——移除链表元素问题、链表分割问题详解
牛客网和LeetCode的刷题都不可或缺,我们都要做一做,无论是参加竞赛还是笔试面试,至少能提升你的代码能力!洛谷的题目也可以去做一做。力扣的题目对提升代码能力很有帮助,需要有一点基础,几乎都是接口型的题目,关于接口型和IO型的区别我们在本专栏的第一篇。原创 2025-07-15 08:54:19 · 966 阅读 · 3 评论 -
【牛客&LeetCode&数据结构】单链表的应用——合并两个有序链表问题、链表的回文结构问题详解
🔥前言:牛客网和LeetCode的刷题都不可或缺,我们都要做一做,无论是参加竞赛还是笔试面试,至少能提升你的代码能力!洛谷的题目也可以去做一做。力扣的题目对提升代码能力很有帮助,需要有一点基础,几乎都是接口型的题目,关于接口型和IO型的区别我们在本专栏的第一篇中就介绍过了,这里不再赘述,我们进入今天的力扣题目介绍——原创 2025-07-14 09:54:51 · 1392 阅读 · 0 评论 -
【LeetCode&数据结构】单链表的应用——反转链表问题、链表的中间节点问题详解
牛客网和LeetCode的刷题都不可或缺,我们都要做一做,无论是参加竞赛还是笔试面试,至少能提升你的代码能力!洛谷的题目也可以去做一做。力扣的题目对提升代码能力很有帮助,需要有一点基础,几乎都是接口型的题目,关于接口型和IO型的区别我们在本专栏的第一篇。原创 2025-07-13 23:22:08 · 960 阅读 · 1 评论 -
【数据结构与算法】数据结构初阶:详解顺序表和链表(四)——单链表(下)
本篇文章,我们复盘顺序表和链表相关的知识点,在初阶的数据结构与算法阶段,我们把知识点分成三部分,复杂度作为第一部分,顺序表和链表、栈和队列、二叉树为第二部分,排序为第二部分,我们之前已经介绍完了第一部分:算法复杂度,本文我们继续学习第二部分中的顺序表和链表部分内容啦。半个多月前,博主更新了头插、尾删、头删、随机位置插入、随机位置删除、查找、修改、菜单等内容,本篇文章,我们就来复盘一下动态顺序表的内容,博主会添加很多新内容,希望对大家的顺序表学习有所帮助。。原创 2025-07-12 08:36:44 · 1006 阅读 · 0 评论 -
【数据结构与算法】数据结构初阶:详解顺序表和链表(三)——单链表(上)
前言:本篇文章,我们复盘顺序表和链表相关的知识点,在初阶的数据结构与算法阶段,我们把知识点分成三部分,复杂度作为第一部分,顺序表和链表、栈和队列、二叉树为第二部分,排序为第二部分,我们之前已经介绍完了第一部分:算法复杂度,本文我们继续学习第二部分中的顺序表和链表部分内容啦。半个多月前,博主更新了头插、尾删、头删、随机位置插入、随机位置删除、查找、修改、菜单等内容,本篇文章,我们就来复盘一下动态顺序表的内容,博主会添加很多新内容,希望对大家的顺序表学习有所帮助。原创 2025-07-11 21:19:22 · 1049 阅读 · 0 评论 -
【数据结构与算法】数据结构初阶:动态顺序表各种方法(接口函数)复盘与整理
本篇文章,我们复盘顺序表和链表相关的知识点,在初阶的数据结构与算法阶段,我们把知识点分成三部分,复杂度作为第一部分,顺序表和链表、栈和队列、二叉树为第二部分,排序为第二部分,我们之前已经介绍完了第一部分:算法复杂度,本文我们继续学习第二部分中的顺序表和链表部分内容啦。半个多月前,博主更新了头插、尾删、头删、随机位置插入、随机位置删除、查找、修改、菜单等内容,本篇文章,我们就来复盘一下动态顺序表的内容,博主会添加很多新内容,希望对大家的顺序表学习有所帮助。原创 2025-07-10 23:55:55 · 1357 阅读 · 0 评论 -
【计算机语言选择规划】全是干货!从难度、就业、岗位选择、薪酬待遇、未来发展等方面详解第一门主流语言学习的选择
我们在学习过程中会碰到很多很多问题,本系列文章不会博主不会额外再创建一个新的专栏来收录,因为这一系列文章创作的初心主要是针对回顾知识点(遵循遗忘曲线并且根据自身的实际情况可以做出一些计划,回顾知识点很重要)、缓解学习过程中的可能出现的焦虑等等。主包就不另外开一个专栏了,uu们可以把本系列的文章作为【C语言】专栏的后日谈来看。这篇文章是详解C++和Java的选择的。主包学习能力很一般,学起语言、算法来和大佬们完全无法比。原创 2025-07-01 15:56:34 · 1472 阅读 · 0 评论 -
【数据结构与算法】数据结构初阶:详解顺序表和链表(二)
前言:本篇文章,我们继续介绍顺序表和链表相关的知识点,在初阶的数据结构与算法阶段,我们把知识点分成三部分,复杂度作为第一部分,顺序表和链表、栈和队列、二叉树为第二部分,排序为第二部分,我们之前已经介绍完了第一部分:算法复杂度,本文我们继续学习第二部分中的顺序表和链表部分内容啦。原创 2025-06-24 13:41:53 · 1401 阅读 · 0 评论 -
【数据结构与算法】数据结构初阶:详解顺序表和链表(一)
🔥前言:上篇文章我们介绍了复杂度的概念,我们通过一个个经典的例子 ,对时间复杂度和空间复杂度的概念进行了剖析,结合图像,让大家更加直观地理解知识点,我们对比了常见的复杂度,展示了各种各样的排序算法的复杂度表格,通过轮转数组这一道力扣题向大家展示了“算法思路有很多种”名不虚传,我们通过三种不同的思路(超出时间限制、通过、时间复杂度O(n)空间复杂度O(1)的情况下通过)详解了算法和复杂度的关系。原创 2025-06-22 15:46:47 · 1206 阅读 · 0 评论 -
【数据结构】详解算法复杂度:时间复杂度和空间复杂度
本文主要介绍了复杂度的概念,复杂度又分为时间复杂度和空间复杂度。原创 2025-06-07 14:00:03 · 1888 阅读 · 1 评论