08 2012 档案

摘要:1 #include 2 #include 3 #include 4 void swap(int* A,int i,int j) 5 { 6 int temp=A[i]; 7 A[i]=A[j]; 8 A[j]=temp; 9 }10 int partition(in... 阅读全文
posted @ 2012-08-31 10:58 生无所息 阅读(228) 评论(0) 推荐(0) 编辑
摘要:计数排序C代码如下,显然这货是不能用于字符串排序的(非比较排序只有基数排序可以用来排序字符串):#include <stdio.h>#include <malloc.h>#include <assert.h>#include <stdlib.h>#define MAX 100 //取值范围k=99,为了保持main形式上的一致性,这里用了宏void counting_sort(int* A,int p,int r){ int* C=(int *)calloc(MAX,sizeof(int)); int* B=(int *)malloc(r*siz 阅读全文
posted @ 2012-08-30 11:26 生无所息 阅读(245) 评论(0) 推荐(0) 编辑
摘要:快速排序相关C代码: 1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <time.h> 4 void swap(int* A,int i,int j) 5 { 6 int temp=A[i]; 7 A[i]=A[j]; 8 A[j]=temp; 9 }10 int Partition(int* A,int p,int r)11 {12 int x=A[r-1];13 int i=p-1,j=p;14 for(;j<r-1;++j) {15 if(A[j]<=x)16 ... 阅读全文
posted @ 2012-08-27 11:34 生无所息 阅读(182) 评论(0) 推荐(0) 编辑
摘要:1 /*-----------Heap-Sort implemented in C------------------*/ 2 3 #include <stdio.h> 4 #include <stdlib.h> 5 6 inline int left(int i) 7 { 8 //C语言中下标从0开始 9 return (i<<1)+1;10 }11 inline int right(int i)12 {13 return (i<<1)+2;14 }15 inline int parent(int i)16 {17 return (i-1)&g 阅读全文
posted @ 2012-08-23 22:54 生无所息 阅读(198) 评论(0) 推荐(0) 编辑
摘要:这部分主要学习概率分析。在概率论的教程里面其实已经学过这些了…附录C的第一部分是排列组合的基础知识;第二部分是经典概率论;第三部分是离散随机分布的一些概念(期望、方差);第四部分介绍了两个常见的离散分布:几何分布和二项分布;最后一部分是可选内容,介绍了二项分布的尾相关的上下界。第五章主要介绍了随机算法的写法,特别强调了均匀随机的概念,引入随机变量指示器作为一个计算期望的技巧。内容小结:计数:略概率:贝叶斯公式: \[Pr\{A | B\}=\dfrac{Pr\{A\}Pr\{B|A\}}{Pr\{B\}}\] 全概率公式:Pr{B}=Pr{B|A1}+Pr{B|A2}+...+Pr{B|... 阅读全文
posted @ 2012-08-21 11:14 生无所息 阅读(292) 评论(0) 推荐(0) 编辑
摘要:常用符号:$\Theta$表示渐近确界,O表示渐近上界,$\Omega$表示渐近下界;o表示非渐近上界,$\omega$表示非渐近下界。 下取整:$\lfloor\quad\rfloor$,上取整$\lceil\quad\rceil$ 取模运算:a mod n = a - $\lfloor a/n \rfloor$*n几个结论:$n^b=o(a^n)$(a>1),任何底大于1的指数函数比任何多项式函数增长的更快; $lg^bn=0(n^a)$(a>0),任意正的多项式函数都比多项式对数函数增长的快; 阶乘n!=$o(n^n)$,n!=$\omega(2^n... 阅读全文
posted @ 2012-08-18 19:05 生无所息 阅读(373) 评论(0) 推荐(0) 编辑
摘要:凛冬将至。——《冰与火之歌》————————————————————————————插入排序、合并排序: 1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <malloc.h> 4 #include <string.h> 5 void insertion_sort(int* array,int p,int q) 6 { 7 int j=p+1,i; 8 for(;j<q;++j){ 9 int key=array[j];10 for(i=j-1;i>=0;--i){11 ... 阅读全文
posted @ 2012-08-15 16:45 生无所息 阅读(298) 评论(0) 推荐(0) 编辑
摘要:《learn you a Haskell》这书的结构与常见的语言入门教材完全不一样。事实上,即使学到第八章,你还是写不出正常的程序…因为到现在为止还没告诉你入口点模块怎么写,IO部分也留在了最后几章才介绍。最重要的是,没有系统的总结数据类型、操作符、语句,这些知识被零散的介绍在1-8章的例子中,换句话来说,这书其实不算是很合格的教材(代码大全那种结构才更适合),不过它重点强调了FP与其他语言的思想... 阅读全文
posted @ 2012-08-02 22:06 生无所息 阅读(12550) 评论(0) 推荐(0) 编辑