算法
文章平均质量分 59
qw_study
这个作者很懒,什么都没留下…
展开
-
C#版大数相乘
using System;using System.Collections.Generic;using System.Text;namespace MaxDAtaToMut...{ public class OP ...{ public string Mut(string str1,string str2) ...{ int l1=str1.Len原创 2006-10-22 09:39:00 · 2243 阅读 · 1 评论 -
参加Grapecity的一道笔试题
上周去听 Grapecity的宣讲会,并顺带参加了他的笔试,其中最后一道题,大概是这样的:50个数,连续存储,现要选出其中最大的数和最小的数,用顺序选择最少也要97次比较,试设计一种算法,使其比较次数肯定小于97次.当时直接就想到了归并的思想(应该还有更快的),说了具体的算法思想,并画了一个选择示意图,没写具体程序,刚刚用c#把算法实现了一遍,比较次数为(85-2=3)次:using原创 2006-10-28 10:34:00 · 1137 阅读 · 1 评论 -
一个o(n)的排序算法,类位图排序
基本思想:定义一个带排序数中的最大数为DataForStore数组长度,一遍扫描带排序数组,将其值作为DataForStore数组中对应下标的数加1,随后在DataForStore数组中即是一排序号的数,顺序输出即可。当然该算法有条件限制,如排序数中的最大数不能太大,至于DataForStore数组可以采用位存储方案,这里为了便于实验,即忽略空间要素。。。。。。只是扫描一遍数组即完成排原创 2006-12-07 22:55:00 · 1512 阅读 · 1 评论 -
c#实现猜数字算法,对所有CASE能在10步内求得其解
算法:采用逐步缩小状态空间法,首先找出4个正确的数(位置不管),然后再确定其位置,对下一个测试的4个数字采用估价函数选取值最大的一个状态,这样状态空间缩小的很快,估价函数是该状态当未被排除时其参考的状态的 A的个数加B的个数,下面是全部程序,测试代码:(每一个CASE是随机产生的) Cmain2 C = new Cmain2(); C.Search()原创 2006-08-13 16:59:00 · 2266 阅读 · 2 评论 -
C#实现八数码的IDEA*(迭代加深A*)算法
八数码是一个经典的人工智能难题,因为好的算法在八数码问题中将搜索的几种经典方法体现的淋漓尽致,经过几种算法的比较,我发现用迭带加深的启发示算法的效率最好,而且求得解为最优解.开始实现时老是在查找Cloesd表时耗费时间,因此好多CASE都要算很长时间,最长竟达30分钟,后来将Cloesd存储在一个100000000大小的 字符数组中,这样,数组中每一个元素对应一个状态序列,有点类似哈希存储,别原创 2006-08-13 16:41:00 · 4210 阅读 · 2 评论 -
k-均值聚类算法c语言版
k-均值聚类算法c语言版#include stdio.h> #include math.h>#define TRUE 1#define FALSE 0 int N;//数据个数int K;//集合个数int * CenterIndex;//初始化质心数组的索引double * Center;//质心集合double * CenterCopy;//质原创 2007-04-06 22:42:00 · 4337 阅读 · 1 评论 -
最近对问题的分治算法(C++)
#includestdio.h>#includesstream>#include map>#include iostream>#include math.h>using namespace std;#define N 5;#define M 5000;typedef struct Point{ int x; int y;} Point;Point P[50] ;int GetNeare原创 2007-08-08 08:55:00 · 2137 阅读 · 1 评论 -
生成格雷码序列算法(C++)
#includestdio.h>#includesstream>#include map>#include iostream>#include math.h>using namespace std;char * P ;void GetNearest(int N){ P=new char[N+1]; for(int i=0;iN;i++) { P[i]=0; } P[N]=0;原创 2007-08-08 10:01:00 · 3022 阅读 · 0 评论