When you ready
Monday, May 12, 2014
Saturday, January 25, 2014
让blogspot支持markdown语法
写技术博客的程序员们可能最需要两样东西,代码排版和代码高亮。
一般的html会存在将<符号转义等等问题,markdown据说可以随心所欲地写出代码。
那么怎么样才能让blogspot支持markdown语法呢
有什么主题是直接支持的,求推荐!
Friday, January 17, 2014
Horner规则算法
多项式:A(x) = a[n]*x^n + a[n-1]*x^(n-1)+...+ a[1]*x^1 + a[0],直接计算时,效率并不高
Horner'ruler规则:A(x) = (...(((a[n]*x + a[n-1])*x + a[n-2])*x + a[n-3])*x+...+ a[1])*x + a[0],使多项式求值所需乘法次数最少
/*
* 多项式A(x) = a[n]*x^n + a[n-1]*x^(n-1)+...+ a[1]*x^1 + a[0],直接计算时,效率并不高
* Horner'ruler规则:A(x) = (...(((a[n]*x + a[n-1])*x + a[n-2])*x + a[n-3])*x+...+ a[1])*x + a[0]
* Horner'ruler使多项式求值所需乘法次数最少
*/
#include摘录:http://blog.csdn.net/psc0606/article/details/9822401//#define DEBUG /* * 霍纳规则递归算法 * a[n]表示多项式系数,i表示递归参数,x表示多项式在哪点计算其值,n表示多项式最高次数 * 注意:系数为0时,也不能省略 */ double horner(float *a, int i, float x, int n) { double result = 0; if(i > n){ return 0; } result = horner(a, i+1, x, n) * x + a[i]; #ifdef DEBUG printf("res:%f\n", result); #endif return result; } int main() { float a[] = {1.70, 0, 2.3, 0.5}; //多项式系数 printf("%f\n", horner(a, 0, 2, sizeof(a)/sizeof(a[0]) - 1)); return 0; }
前N个自然数的随机置换问题
前N个自然数的随机置换问题
假设需要生成前N个自然数的一个随机置换。例如,{4,3,1,5,2}和{3,1,4,2,5}就是合法的置换,但{5,4,1,2,1}却不是,因为数1出现两次而数3却没有。这个程序常常用于模拟一些算法。我们假设存在一个随机数生成器RandInt(i,j),它以相同的概率生成i到j之间的一个整数。下面是三个算法:
1.如下填入从A[0]到A[N-1]的数组A;为了填入A[i],生成随机数直到它不同于已经生成的A[0],A[1],...,A[i-1]时,再将其填入A[i]。
int a[10] = {0}; void getRandom(int a[], int length) { int i; for(i = 0; i < length; i++) { int j = RandInt(0, length); while(1) { int k; for(k = 0; k < i; k++) { if(j == a[k]) break; } if(k == i) { a[i] = j; break; } j = RandInt(0, length); } } }算法复杂度:O(N*N*logN) 2.同算法(1),但是要保存一个附加的数组,称之为Used(用过的)数组。当一个随机数Ran最初被放入数组A的时候,置Used[Ran] = 1。这就是说,当用一个随机数填入A[i]时,可以用一步来测试是否该随机数已经被使用,而不是第一个算法那样(可能)进行i步测试。
void getRandom2(int a[], int length){ int Used[length] = {0}; for(int i=0; i算法复杂度:O(N*logN); 3.填写该数组使得A[i] = i+1。然后: for(i = 1; i < N; i++) Swap(&A[i], &A[RandInt(0, i)]);void getRandom3(int a[], int length){ int i; //初始化1-10 for(i=0; i算法复杂度:O(N)
Friday, December 27, 2013
Hello World
Subscribe to:
Posts (Atom)