数据结构
文章平均质量分 86
禁默
大一编程新手菜鸡一枚,希望能抱紧大佬大腿,与IT行业优秀的前辈和高手大佬交流请教!!!
展开
-
经典的带环链表问题(链表补充)
fast追击slow过程中,距离变化一直-2,但是最后结果要注意,N为偶数时,最后变为0,N为奇数时,最后为-1.而当距离为-1时,两指针会错过,进行新一轮追击。本题相较于第一个环形链表题,多了返回节点位置的步骤,所以最初思路也是通过快慢指针,快慢指针相遇,则证明有环存在,然后将两指针相遇点记为meet,再继续走,此时头节点也开始移动,meet与head相遇点就是环的最初节点。假设链表就是有环,slow(1步)进环时,fast(两步)与slow的距离为N,追击过程中,每走一次,N都会-1,最后到0。原创 2024-06-12 08:48:55 · 794 阅读 · 51 评论 -
二叉树的顺序结构(堆的实现)
普通的二叉树是不适合用数组来存储的,因为可能会存在大量的空间浪费。而完全二叉树更适合使用顺序结 构存储。现实中我们通常把堆一种二叉树使用顺序结构的数组来存储,需要注意的是这里的堆和操作系统虚拟进程地址空间中的堆是两回事,一个是数据结构,一个是操作系统中管理内存的一块区域分段。1.堆的概念及结构如果有一个关键码的集合K = { k0,原创 2024-06-06 17:32:56 · 1319 阅读 · 67 评论 -
二叉树的概念和结构
二叉树的链式存储结构是指,用链表来表示一棵二叉树,即用链来指示元素的逻辑关系。通常的方法是链表中每个结点由三个域组成,数据域和左右指针域,左右指针分别用来给出该结点左孩子和右孩子所在的链结点的存储地址。:一个二叉树,如果每一个层的结点数都达到最大值,则这个二叉树就是满二叉树。:完全二叉树是效率很高的数据结构,完全二叉树是由满二叉树而引出来的。:以某结点为根的子树中任一结点都称为该结点的子孙。:若一个结点含有子结点,则这个结点称为其子结点的父结点;:一个结点含有的子树的根结点称为该结点的子结点;原创 2024-06-03 15:30:29 · 857 阅读 · 80 评论 -
栈和队列题目练习
本节小编选了两道题来加深对栈和队列的认识理解!原创 2024-05-30 21:58:54 · 1416 阅读 · 65 评论 -
链表题目练习及讲解
本节小编将分享链表的部分练习题,友友们可以自己去练练,更好的理解链表!原创 2024-05-17 11:31:57 · 1405 阅读 · 33 评论 -
时间与空间复杂度(详解)
一 个算法执行所耗费的时间,从理论上说,是不能算出来的,只有你把你的程序放在机器上跑起来,才能知 道。在计算 机发展的早期,计算机的存储容量很小。但是经过计算机行业的迅速发展,计 算机的存储容量已经达到了很高的程度。一个算法所花费的时间与其中语句的执行次数成正比例,前言:Hello,各位友友,本节将带领大家领会时间与空间复杂度,干货满满!的空间,因为这个也没太大意义,所以空间复杂度算的是变量的个数。返回程序执行起(一般为程序的开头),处理器时钟所使用的时间。之间的数学表达式,就是算出了该算法的时间复杂度。原创 2024-05-13 17:45:30 · 1216 阅读 · 25 评论 -
数据结构-顺序表详解(看这篇就足够了,哈哈哈)
哈喽,everybody!原创 2024-04-27 22:57:23 · 785 阅读 · 29 评论 -
单链表专题(冲冲冲)
后续小编会详细讲解链表的结构非常多样,以下情况组合起来就有8种(2 x 2 x 2)链表结构。单链表和双向带头循环链表1. 无头单向非循环链表:结构简单,一般不会单独用来存数据。实际中更多是作为其他数据结 构的子结构,如哈希桶、图的邻接表等等。另外这种结构在笔试面试中出现很多。2. 带头双向循环链表:结构最复杂,一般用在单独存储数据。实际中使用的链表数据结构,都是带头双向循环链表。另外这个结构虽然结构复杂,但是使用代码实现以后会发现结构会带来很多优势,实现反而简单了。原创 2024-05-04 13:59:29 · 1297 阅读 · 26 评论