欢迎来到 Franklin-Qi 的世界

Max
Min

随笔分类 -  常用算法

十大排序之快速排序
摘要:快速排序是不稳定的吗? 其实不然,根据稳定性的定义,只要相同值元素位置在排序前后位置不变则是稳定的。 只要将查找条件变为从右向左找第一个小于x的数进行挖坑填数则是稳定性的。 一、快速排序实例 //快速排序 void quick_sort(int s[], int l, int r) { if (l 阅读全文

posted @ 2020-08-26 10:45 yusq77 阅读(119) 评论(0) 推荐(0) 编辑

十大经典排序算法
摘要:排序算法总结 排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。 名词解释 n:数据规模 k:"桶"的个数 In-place:占用常数内存,不占用额外内存 Out-place:占用额外内存 稳定 阅读全文

posted @ 2019-07-02 12:41 yusq77 阅读(163) 评论(0) 推荐(0) 编辑

字符串
摘要:一、KMP算法 解决字符串查找的问题,可以在一个字符串(S)中查找一个子串(W)出现的位置。KMP 算法把字符匹配的时间复杂度缩小到 O(m+n) ,而空间复杂度也只有O(m)。因为“暴力搜索”的方法会反复回溯主串,导致效率低下,而KMP算法可以利用已经部分匹配这个有效信息,保持主串上的指针不回溯, 阅读全文

posted @ 2019-05-27 22:00 yusq77 阅读(147) 评论(0) 推荐(0) 编辑

动态规划
摘要:算法思想 将待求解的问题分解为若干个子问题,按顺序求解子问题,同时前一子问题的解,为后一子问题的求解提供了有用的信息。 算法优点 针对每一个状态只需要进行一次运算,之后就可以重复利用这个状态的值,从而减少了大量不必要的重复计算。也就是,一旦出现重复的子问题求解,优先考虑动态规划方式求解,一般都会获得 阅读全文

posted @ 2019-05-14 18:12 yusq77 阅读(424) 评论(0) 推荐(0) 编辑

导航