![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
SunnyPotter
http://sunnypotter8.sinaapp.com/
展开
-
牛顿迭代法(欧几里得算法(辗转相除),斐波那契算法)
牛顿迭代公式步骤: 设r是 的根,选取 作为r的初始近似值; 一、过点 做曲线 的切线L,L的方程为 ,求出L与x轴交点的横坐标 ,称x1为r的一次近似值; 二、过点(x1, f(x1))做曲线y = f(x)的切线,并求该切线与x轴交点的横坐标,称x2为r的二次近似值; 三、重复一二,得到r的n+1次近似值序列,其中原创 2013-12-14 17:49:19 · 2416 阅读 · 0 评论 -
排序算法之冒泡排序
第一种(标准): #include #include #include void swap(int *a, int i, int j) { int temp = a[i]; a[i] = a[j]; a[j] = temp; } void BubbleSort(int *a, int m) { int i, j; // Something Different for(i=原创 2014-01-02 18:26:03 · 600 阅读 · 0 评论 -
康托展开(ny139)和逆康托展开
转自:http://www.cnblogs.com/hxsyl/archive/2012/04/11/2443009.html 1.康托展开的解释 康托展开就是一种特殊的哈希函数 把一个整数X展开成如下形式: X=a[n]*n!+a[n-1]*(n-1)!+...+a[2]*2!+a[1]*1! 其中,a为整数,并且0<=a<i,i=1,2,..,n {1,2,3,4转载 2013-12-19 16:08:56 · 819 阅读 · 0 评论 -
动态规划法的定义
动态规划法 经常会遇到复杂问题不能简单地分解成几个子问题,而会分解出一系列的子问题。简单地采用把大问题分解成子问题,并综合子问题的解导出大问题的解的方法,问题求解耗时会按问题规模呈幂级数增加。 为了节约重复求相同子问题的时间,引入一个数组,不管它们是否对最终解有用,把所有子问题的解存于该数组中,这就是动态规划法所采用的基本方法。转载 2013-12-21 01:59:46 · 857 阅读 · 0 评论 -
排序算法之归并排序
链表: void MergeSort(SqList *L) { MSort(L->r, L_>r, 1, L->length); } void MSort(int SR[], int TR1[], int s, int t) { int m; int TR2[MAXSIZE+1]; if(s == t) { TR1[s] = SR[s]; } else { m = (s+t)原创 2014-01-02 18:21:56 · 538 阅读 · 0 评论 -
排序之堆排序
链表:#include // 大根堆 void HeapAdjust(SqList *L, int s, int n) { int temp, j; // temp = L->r[s]; for(j=2*s; j<=m; j*=2) { // 比较,记录j和j+1中较大的值,用于和temp比较 if(jr[j] r[j+1]) ++j; // 如果j和j+!中较大的值原创 2014-01-02 18:18:56 · 630 阅读 · 0 评论 -
查找算法之折半查找
#include #include #include int Binary_Search(int *a, int n, int key) { int low, high, mid; low = 1; high = n; // while(low <= high) { mid = (low+high)/2; if(key < a[mid]) high = mid -原创 2014-01-02 18:24:01 · 651 阅读 · 0 评论 -
排序算法之直接插入排序
#include void InsertSort(int *a, int n) { int i, j; for(i=2; i<=n; i++) { if(a[i] < a[i-1]) { a[0] = a[i]; for(j=i-1; a[j] > a[0]; j--) a[j+1] = a[j]; a[j+1] = a[0]; } } } int原创 2014-01-02 18:20:41 · 556 阅读 · 0 评论 -
nyoj 55懒省事的小明
#include #include using namespace std; // 本题就是对STL优先队列+哈夫曼树的初步应用 long long Use_queue(int a[], int n) { int i; // 优先队列的使用 priority_queue , greater > w; for(i=0; i<n; i++) w.push(a[i]); lo原创 2014-01-20 11:46:55 · 693 阅读 · 0 评论