算法
zyvscc
这个作者很懒,什么都没留下…
展开
-
单链表的逆置
最初:p1->p2->p3逆置过程:1. p1 2. ...... 3. 然后重复p2的next指向p1, p1指向p2,p2指向p3.代码如下:node *reverse(node *head){node *p1, *p2, *p3;if(head==NULL || head->next == NULL)原创 2012-04-24 20:41:55 · 444 阅读 · 0 评论 -
如何拿最大的钻石
10层楼的电梯门口,每层放一个宝石,10个宝石大小不同,宝石的分布完全是随机的。电梯从1层开到十层,到了每层门都会打开一会儿,你可以看到宝石大小,然后当场决定捡与不捡,如果决定不捡则以后也没有机会再捡了;如果捡了一块宝石,则也不能选择其它宝石了。问怎样保证得到最大的宝石的概率最大? 很久以前看到过这题目,没怎么弄明白,昨天又让我看到了...我想我知道答案了转载 2012-04-25 10:27:06 · 5101 阅读 · 1 评论 -
约瑟夫环问题
#include //#include #include #define ERROR 0using namespace std;typedef struct LNode{ int data; struct LNode *link;}LNode, *LinkList;void JOSEPHUS(int n, int k, int m) //n为总人数,k为第一个开原创 2012-04-28 10:01:01 · 598 阅读 · 0 评论 -
排序 初始状态
选择排序的比较次数与记录初始状态无关 比较次数O(n^2),比较次数与关键字的初始状态无关,总的比较次数N=(n-1)+(n-2)+...+1=n*(n-1)/2原创 2012-04-28 23:17:05 · 704 阅读 · 0 评论 -
排序算法
1冒泡法:#include#includevoid mao_pao(int *a,int n){int i,j,temp,flag;for(i=0;i{flag=0;for(j=0;j{ if(a[j]>a[j+1]) { flag=1; temp=a[j]; a[j]=a[j+1]; a[j+转载 2012-04-17 14:42:43 · 728 阅读 · 0 评论 -
KMP算法
KMP算法 用于模式匹配 时间复杂度是O(n+m)。原创 2012-05-04 21:41:52 · 415 阅读 · 0 评论