数据结构
文章平均质量分 67
achenstar
这个作者很懒,什么都没留下…
展开
-
C/C++ 插入排序、希尔排序、选择排序、冒泡排序、快速排序及其复杂度计算
1、left 停下(表示已经找到比key大的数,且已经交换过,此时left的数比key小),right走,right遇到left(此时right没有找到比key小的数字,但是已经不满足条件left原创 2023-01-07 17:02:58 · 117 阅读 · 0 评论 -
环形链表C/C++数据结构
目录什么是环?例题 141. 环形链表公式推导:环形链表二 142. 环形链表 II方法一:方法二:类似这种,结点下一个指针又指向链表本身,这样若遍历链表的话则会变成死循环。 特殊情况:自己也有可能成环 环的特点:有两个指针指向环的起点判断是否有环使用快慢指针,进入了环就变成了追及相遇的问题 思路:快指针一次走两步,慢指针一次走一步,当两个指针相遇时,即在链表中存在环 问题:为什么是快指针一次走两步?慢指针一次走一步?公式推导:假设链表中无环快指针走的距离=2*慢指针走到距离假设链表中有环进环原创 2022-12-05 16:28:13 · 996 阅读 · 0 评论 -
代码随想录算法训练营第六天 | 704二分查找、349.两个数组的交集
哈希表适用于给你一个元素,判断是否出现在哈希表中哈希表有三种呈现方式数组适用于数据有限的列表。原创 2022-11-27 21:01:48 · 78 阅读 · 0 评论 -
空间复杂度
空间复杂度是一个数学表达式,是算法在运行过程中。所以每次外部 for 循环都是使用的同一块空间。每个func的函数栈帧是常数个(本例为1个)每个栈帧里开辟常数个空间(本例为1个)空间复杂度栈上、堆上的空间都要算。计算空间复杂度:斐波那契数列。O(1)代表常数个空间复杂度。计算空间复杂度:冒泡排序。空间复杂度为 O(1)计算空间复杂度:递归。空间复杂度为O ( )O( N ),空间复用。函数调用需要建立栈帧。调用n次func函数。原创 2022-11-04 18:11:50 · 82 阅读 · 0 评论 -
C/C++ 时间复杂度--数据结构(嵌套循环、冒泡排序、二分查找、递归、斐波那契数列的分析)
完成代码所需要的时间一个算法花费的时间与其中语句的执行次数成正比,所以算法中的基本操作的执行次数,为算法的时间复杂度。不需要精确的时间复杂度的计算,只需要大概就OK,把对结果影响不大的值给去掉。使用大O的渐进表示法O( 1 )不代表是1次而是常数次时间复杂度不要去数循环。原创 2022-11-04 17:16:13 · 562 阅读 · 0 评论