![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
文章平均质量分 84
is_qinxu@163.com
电话:18013032683
微信:xq-wise_loving
邮箱:is_qinxu@163.com
展开
-
四大排序算法
直接插入排序最坏的情况下:逆序的情况就是最坏的情况,这意味着每一次进行单趟排序,tmp都要循环至最前面进行交换,时间复杂度时O(N²)。最好的情况:有序或者接近有序。这意味着单趟排序时每一个tmp代表的值要进行的循环只有1次或者接近1次,时间复杂度为O(N)。我们一般默认最坏的情况是时间复杂度,所以是O(N²)。希尔排序希尔排序的时间复杂度以我的能力实在没法儿求,需要高深的数学知识很强的数理能力。因为gap的取值有很多种方法,也没有一个公认的时间复杂度。直接选择排序。原创 2022-12-20 20:41:52 · 164 阅读 · 0 评论 -
时间复杂度、空间复杂度
时间复杂度表征的是一个算法的运行时间效率,我们把算法中的基本操作的执行次数,称作算法的时间复杂度。而时间复杂度分为:最好情况,最坏情况,平均情况。而在设计算法,应用算法时,时间效率是一种很重要的需求,所以我们一般所说的运行时间指的是最坏情况的运行时间。在描述算法运行效率的时候,我们通过求算算法的运行次数来作为算法的时间复杂度。但是求算复杂度的时候我们要明白一点,求算时间复杂度首先要做的是得到运行次数的数学表达式,这个是需要数学功底的,列出了表达式,大O阶就是小case。原创 2022-10-22 22:03:59 · 154 阅读 · 0 评论 -
C_KMP
KMP,即字符串查找算法,用于在一个文本串A中查找另一个模式串P的出现位置。初学KMP看不懂这个算法流程正常,跟着我的思路,看到后面就可以看懂了设文本串A用 i 控制,模式串P用 j 控制。如果当前字符匹配成功,则继续匹配下一个字符;如果匹配不成功,则j=next[j];(也就是让j移动到了next[j]处),如果一直没匹配,那么直到 j 回到0下标处 j便不再回退。原创 2022-10-04 22:33:54 · 259 阅读 · 1 评论 -
C实现BF算法
通俗的讲,BF算法就是暴力求解,通过一个个遍历来达到匹配字符串的目的。因此可以看出,BF算法的效率并不高,它的时间复杂度为O(n+m)。这里的BF算法是为了更好的理解__KMP__算法。原创 2022-10-01 20:46:10 · 155 阅读 · 0 评论