数据结构小记
文章平均质量分 82
记录数据结构学习过程
pigern
这个作者很懒,什么都没留下…
展开
-
二叉树与堆
目录树树的定义树的相关概念树的表示树的应用二叉树二叉树的定义二叉树特点二叉树性质二叉树的存储结构堆树树的定义树是一种数据结构,树结构只有一个根节点,除根节点外,其余节点被分成M(M>0) 个互不相交的集合T1,T2,T3,…,Tm. 其中每一个集合Ti(1 < i < m)又是一颗与树结构类似的子树。每个子树的根节点有且只有一个前驱,可以有0个或多个后继。因此,树是递归定义的。如图是一颗树结构:由于树结构只有一个前驱,所以树结构不能出现交叉,如下不是一棵树结构这种结构称为树原创 2022-04-16 21:30:20 · 2249 阅读 · 0 评论 -
链表带环问题(LeetCode 142)
记录算法思路在LeetCode上做到了一个有意思的题,思路非常有意思,记录如下原题链接 环形链表Ⅱ分析题目通过题目可以分析出这个问题可以分为两个问题判断链表是否带环链表所带的环的起始位置刚看到题目的时候觉得题目写的太模糊了,为了不浪费时间,将题目分析写一遍。1. 判断链表是否带环假设环形链表如下:方法:设置快慢指针,快指针每次走两步,慢指针每次走一步,当两指针进环后最终一定会相遇。若相遇,则是带环链表,若最后快指针走到空,则不是带环链表代码实现: struct原创 2021-11-16 22:56:53 · 413 阅读 · 0 评论 -
数据结构基础(算法的时空复杂度)
目录1. 为什么算法会有时空复杂度2. 时空复杂度的计算时间复杂度空间复杂度总结1. 为什么算法会有时空复杂度在程序设计中,为了完成某些功能,工程师们会设计一些算法,来完成这些功能。然而完成这些功能的时候不可避免的会遇到一些效率问题,而时间复杂度和空间复杂度具有算法运行时衡量算法效率的作用。一般情况下,算法的时间复杂度与空间复杂度是成反比的,当一个算法时间复杂度降低,这个算法的空间复杂度会相应升高。二者经常不可得兼。2. 时空复杂度的计算时间复杂度时间复杂度主要衡量一个算法的运行快慢。在计算机科原创 2021-10-29 07:45:00 · 1127 阅读 · 1 评论