C语言算法
never疯
这个作者很懒,什么都没留下…
展开
-
快速排序代码优化
快速排序代码优化因为我们知道快速排序从小到大输出在逆序时的时间复杂度时O(^2) 所以我们对快速排序进行优化原理:普通的快排上一篇文章我们讲到过,是取左边第一个值进行作为基准值,然后一直替换优化后的原理是取中间的值,然后左右先互相替换,最后放入基准值void quick_sort_change(int *num,int l,int r ){ while(l < r){ int ...原创 2018-12-19 17:37:32 · 179 阅读 · 0 评论 -
c 语言 读写锁
读写锁记录下c语言读写锁的简单流程初始化销毁加锁解锁原创 2019-03-09 10:03:50 · 3041 阅读 · 1 评论 -
七大排序算法
面试常考的七大排序快速记法交换排序: 冒泡排序 快速排序插入排序: 直接插入排序 希尔排序选择排序: 直接选择排序 堆排序归并排序: 归并排序总结分析排序方法平均情况最好情况最差情况辅助空间稳定性冒泡排序O(n^2)O(n)O(n^2)O(1)稳定快速排序O(nlogn)O(nlogn)...原创 2019-03-01 21:14:23 · 258 阅读 · 0 评论 -
辗转相除法
辗转相除法设两数为a、b(b<a),用gcd(a,b)表示a,b的最大公约数,r=a (mod b) 为a除以b以后的余数,k为a除以b的商,即a÷b=k…r。辗转相除法即是要证明gcd(a,b)=gcd(b,r)。int gcd(int a,int b){if(!b) return a;return gcd( b , a % b);其实自己理解下就是要证明gcd(a,b)=g...原创 2019-01-05 15:38:11 · 6740 阅读 · 0 评论 -
线性筛求素数 线性筛求因子个数 线性筛求因子合
线性筛求素数 线性筛求因子个数 线性筛求因子合普通线性筛筛素数#include&amp;amp;amp;lt;stdio.h&amp;amp;amp;gt;#define max_n 10005int num[max_n]={0}int main(){ for(int i=2;i&amp;amp;amp;lt;max_n;i++){ if(num[i]==0){ num[++num[0]]=i; } for原创 2019-01-05 15:30:57 · 849 阅读 · 1 评论 -
C语言 快速排序算法理解
快速排序快速排序(Quicksort)是对冒泡排序的一种改进。快速排序由C. A. R. Hoare在1962年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。举个栗子从图中我们可以看到:left指针,right指...原创 2018-12-19 11:32:56 · 275 阅读 · 0 评论 -
C语言常见函数
绝对值函数(absolute value function)abs传入整数 需引入stdlib.hfabs传入浮点数原创 2018-12-19 10:36:47 · 1840 阅读 · 0 评论 -
大整数相加 欧拉计划 第13题
欧拉函数第13题就是一个大整数相加的典型题大和计算出以下一百个50位数的和的前十位数字。371072875339021027987979982208375902465101357402504637693767749000971264812489697007805041701826053874324986199524741059474233309513058123726617309629...原创 2018-12-19 22:31:48 · 424 阅读 · 1 评论 -
欧拉计划 17 题
表达数字的英文字母计数如果把1到5写成英文单词,分别是:one, two, three, four, five,这些单词一共用了3 + 3 + 5 + 4 + 4 = 19个字母。如果把1到1000都写成英文单词,一共要用多少个字母?注意: 不要算上空格和连字符。例如,342(three hundred and forty-two)包含23个字母,而115(one hundred and f...原创 2018-12-19 18:52:56 · 295 阅读 · 0 评论 -
【算法】稳定排序
稳定排序有 插入排序哦O(n^2) 冒泡排序O(n ^2) 归并排序O(n log(n))#include<iostream>#include<stdlib.h>#include<string.h>using namespace std;#define swap(a,b){\ a^=b;b^=a;a^=b;\}//插入void inser...原创 2019-07-10 09:54:18 · 169 阅读 · 0 评论