
初级数据结构
文章平均质量分 87
包含了对一些基础数据结构的介绍,以及部分与数据结构 有关的leetcode题目介绍
半只牛马
学习技术总会遇到一些挫折,不要轻易放弃,一放弃就达不到自己的目的
展开
-
排序(2)之选择排序
继插入排序后,今天小编就给大家另一个模块,选择排序的学习,那么话不多说,我们直接进入正题。原创 2023-04-11 16:12:42 · 392 阅读 · 0 评论 -
排序(1)之插入排序
从今天小编就开始给大家介绍排序的内容,对于排序内容我们一共分,插入,选择,交换,归并这几个大类,那么今天小编给大家带来的就是插入排序1. 元素集合越接近有序,直接插入排序算法的时间效率越高说明:这也是我们直接插入的排序的优势,但是如果数据是顺序存储的,也需要我们遍历一遍后才知道相应结果,所以这里我们最好的情况下时间复杂度也是O(N)。2. 时间复杂度:O(N^2)原创 2023-04-10 17:19:20 · 536 阅读 · 0 评论 -
排序(3)之交换排序
今天小编给大家带来交换排序的内容,对于交换排序中的快速排序在理解上会相对困难一点,小编这里会配合图片给大家细细讲解。那么现在就开始我们今天的主题。1.时间复杂度:O(N^2)2. 空间复杂度:O(1)3. 稳定性:稳定。原创 2023-04-13 15:18:01 · 1135 阅读 · 1 评论 -
排序(4)——归并排序
归并排序(MERGE-SORT)是建立在归并操作上的一种有效的排序算法该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。原创 2023-04-16 21:15:51 · 610 阅读 · 1 评论 -
数据结构之二叉树的实现
之前给大家介绍了有关堆的实现,那么这里小编就给大家带来今天的重头戏——二叉树的实现,以及介绍。原创 2023-04-09 20:48:22 · 1491 阅读 · 0 评论 -
数据结构之堆的介绍
今天小编给大家带来的是数据结构中有关与堆的介绍,但由于堆的结构实际上是一棵完全二叉树,所以在介绍堆前小编需要给大家先讲解一下树以及二叉树的基本概念,以便大家后续理解。原创 2023-04-01 00:10:44 · 530 阅读 · 0 评论 -
链表oj题讲解(2)之链表中间节点
这里我们的p指针从1开始按我们标序的顺序进行移动,然后到空指针就是我们循环结束条件,我们这里还需要给一个计数器size来记录链表的长度,然后我们再进行一次循环,然后让指针移动size/2次,让指针返回size/2+1位置的节点内容。思路三我们这里需要采用快慢指针的方式,让一个fast指针一次走两个节点位置,一个slow指针每次走一个节点位置,当fast指针走到末尾时(奇数个和偶数个的节点的结束条件不一致)。slow刚好在链表的中间节点处。这里时偶数个节点的执行最后结果,循环结束条件是fast==NULL.原创 2023-03-21 21:41:38 · 268 阅读 · 0 评论 -
数据结构之时间复杂度
今天开始,小编就开始给大家带来数据结构的内容了,在学习数据结构的过程中可能有些知识有一点晦涩难懂,需要大家多花点时间去理解,小编也会不断尽自己的努力,不断提高文章质量,让大家更容易攻克难题,那么今天就让我们一起去了解一下时间复杂度的内容吧。原创 2023-03-04 15:55:37 · 262 阅读 · 0 评论 -
数据结构之链表详解
即顺序表之后,今天给大家带来另外一个线性结构——链表。原创 2023-03-12 15:53:37 · 617 阅读 · 0 评论 -
数据结构之队列的实现
在介绍栈之后,这里小编就给大家带来的另外一种特殊的线性结构——队列。原创 2023-03-25 20:49:48 · 554 阅读 · 0 评论 -
数据结构之顺序表详解
今天给大家带来的是数据结构的顺序表结构,以及与其的有关功能的实现,在数据结构的这部分内容,可能有些知识点有点难以理解,这里小编会配合图画,让大家能够更好的理解,那么下面就让我们直接步入正题吧。原创 2023-03-11 15:49:54 · 302 阅读 · 0 评论 -
数据结构之栈的实现
今天给大家介绍一种特殊的数据结构——栈,栈和我们之前介绍的链表和顺序表一样都是线性结构,那栈为什么特殊呢?接下来请大家和小编一起细细了解。原创 2023-03-25 13:37:07 · 565 阅读 · 0 评论 -
链表oj题讲解(1)——移除链表元素
在初步给大家介绍链表之后,为了让大家更好的理解和巩固链表,小编这里会从易到难以此给大家带来一系列关于链表的oj题。那么接下来就让我们看看今天的例题。原创 2023-03-18 21:23:56 · 228 阅读 · 0 评论 -
数据结构之空间复杂度详解
在上一篇文章我们了解了时间复杂度,今天我们就从空间的角度来分析一个算法。assert(a);end > 0;++i)break;根据空间复杂度的判断条件,我们要关注的是额外的创建的空间,那么这里为实现该代码逻辑的运行额外创建的变量有end, i,以及exchange,很明显这里是一个常数的量级,那么这里的空间复杂度是O(1)。原创 2023-03-08 09:13:46 · 655 阅读 · 0 评论 -
leetcode(622)之设计循环队列
之前给大家介绍了队列这种数据结构,但今天我给大家带来的是一种特殊的队列——循环队列,大家可以对比一下两者的不同,以及我们在实现数据结构中的灵活性。原创 2023-03-27 20:59:24 · 373 阅读 · 1 评论