![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构构构构构
文章平均质量分 73
Peace & Love487
这个作者很懒,什么都没留下…
展开
-
数据结构--《二叉树》
n(n>=0)个结点集合或者为空集(称为空二叉树)由一个根结点和两颗互不相交的、分别称为根结点的左子树和右子树。原创 2024-05-26 14:29:09 · 1281 阅读 · 0 评论 -
每日一题《leetcode--382.链表随机结点》
当我们看到随机这两个字时,应该就会想起rand()这个函数。接着我们把使用这个函数生成的随机值与链表的长度进行模运算,这样子求出的结果就不会大于链表长度。这道题我们首先看到题目中的要求:在单链表中随机选取一个链表中的结点,要使每个结点被选取的概率是一样的。原创 2024-05-24 19:15:00 · 154 阅读 · 0 评论 -
【笔记】树(Tree)
树(Tree)是一种非线性的数据结构,它是n(n >= 0)个结点组成的一个具有层次关系的有限集。之所以把它叫做树是因为它看起来像一颗倒挂的树,也就是它的根是朝上,而叶子是朝上的。在n=0时称为空树。有且仅有一个特定的称为根(Root)的结点;当n>1时,其余结点可分为m(m > 0)个互不相交的有限集T1、T2、...... 、Tm,其中每一个集合本身又是一棵树,并且称为根的子树(SubTree)。注意:在树型结构中,子树之间不能有交集,否则就不能是树形结构。如果相交了,那就是图。原创 2024-05-23 18:02:07 · 1565 阅读 · 0 评论 -
【笔记】队列
只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列具有先进先出 FIFO(First In First Out)入队列:进行插入操作的一端称为队尾出队列:进行删除操作的一端称为队头。原创 2024-04-09 14:52:52 · 323 阅读 · 0 评论 -
【笔记】栈(Stack)
/定义静态栈int a[N];//数组//容量空间大小int top;//插入的元素的个数}ST;定义静态栈就直接把数组长度给定死了,过后如果有需求要修改起来十分不便,所以我们就定义一个动态的栈。//动态栈//数组//容量空间大小//插入的元素的个数}ST;原创 2024-04-08 17:26:21 · 637 阅读 · 0 评论 -
双向链表&&接口函数的实现
概念双向链表(double linked list)也可称为带头双向循环链表。他的结构是在单链表的每个结点中,再设置一个指向其前驱结点的指针域。所以在双向链表中的结点都有两个指针域,一个指向直接前驱,另一个指向直接后继。这是双向链表的循环带头结点的空链表,它的直接前驱是它自己,它的直接后继也是它自己。//后继//前驱//数据域}LTNode;原创 2024-02-04 21:22:41 · 499 阅读 · 1 评论 -
单链表oj
这里我们用一种新的方法--设立两个指针left和right,两个指针都指向头结点head.但是它们移动的方式不一样,指针right一次走一步,而指针left一次走两步。这里我们设立一对快慢指针即可,我们先让指针fast先走k步,然后指针fast和指针slow同时走,直到指针fast为空,随后返回slow即可。这里我们会用到前面写的两个操作,一个是反转链表,另一个则是寻找链表的中间结点。第一种: 正常遍历两个链表,把两个链表中较小的值插入新头结点处。第二种:遍历原链表,把不是val的结点尾插到新链表中。原创 2024-02-04 19:30:12 · 371 阅读 · 1 评论 -
简单地了解下【单链表】
继上文我们了解了什么是顺序表后,接下来就让我们来了解下什么是链表也就是什么是线性表的链式存储结构。链表是一种物理存储结构上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。结点是由两个部分组成,对于一个数据元素a1来说,除了存储本身的信息之外,还需要存储一个指示其直接后继的信息(即直接后继的存储位置)。那我们就把存储数据元素信息的域称为数据域。把存储直接后继的域称为指针域。指针域中存储的信息称作指针或链。这两部分信息组成数据元素a1的存储印象,称为结点(Node)。原创 2024-02-01 22:05:36 · 427 阅读 · 1 评论 -
顺序表,表顺序
顺序表(线性表的顺序存储结构)是用一段物理地址连续的存储单元依次存储数据元素的线性结构,一般情况下采用数组存储(一维数组)。在数组上完成数据的增删查改。原创 2024-01-24 21:43:57 · 982 阅读 · 0 评论 -
空间复杂度
空间复杂度也是一个数学表达式,是对一个算法在运行过程中临时占用存储空间大小的量度。空间复杂度不是程序占用了多少bytes的空间,因为这个也没太大意义,所以。空间复杂度计算规则基本跟实践复杂度类似,也使用。:函数运行时所需要的栈空间(存储参数、局部变量、一些寄存器信息等)在编译期间已经确定好了,因此。总之就是一个程序运行时。原创 2024-01-16 23:24:04 · 364 阅读 · 2 评论 -
【数据结构】了解,ins下 时间复杂度
这里的大O指的是什么呢,一提到时间复杂度,大家都懂O(1)、O(n)、O(n^2)等等,却不明白括号前面的O是什么意思。在实际中我们计算时间复杂度时,我们其实并不一定要计算精确的执行次数,而只需要大概的执行次数那这里就需要用到大O的渐进表示法。在这边我们如果想要求出大概的执行次数,那就需要找到函数表达式中最具有决定性的一项(抓大头)。例如:F(N)=N^2+2*N+10这个函数表达式中,哪一项是能决定整个式子大小的?那必然是项数最大的那一项。从图中看来,我们可以用极限的思想来看这个式子。原创 2024-01-15 22:23:59 · 929 阅读 · 0 评论