算法学习
剑蝶ly
这个作者很懒,什么都没留下…
展开
-
矩阵的乘法
#include #include void Print(int **a,int m,int n) { int i,j; for(i=0;i<m;i++) { for(j=0;j<n;j++) printf("%d ",a[i][j]); printf("\n"); } } int**MatrixMultiply(int **a,int **b,int **c,int x,i原创 2014-08-26 14:40:01 · 591 阅读 · 0 评论 -
骑士巡游问题
这一天来jiu原创 2014-09-23 21:19:41 · 930 阅读 · 0 评论 -
简单的图的深度优先遍历和广度优先遍历
对图的遍历,深度优先遍历使用递归,广度优先遍历使用队列。#include int book[100], queue[1000], e[100][100],sum,n; void dfs(int cur)//深度优先搜索 { int i; printf_s("%d ", cur);//输出当前编号的值 sum++; if (sum == n)//已经遍历完 return; fo原创 2014-12-18 19:13:50 · 614 阅读 · 0 评论 -
Floyd算法求多源最短路径
#include int main() { int m, n, i, j, k, t1, t2, t3, e[10][10]; scanf_s("%d %d", &n, &m); for (i = 1; i <= n;i++) for (j = 1; j <= n; j++)//Initialize the matrix { if (i == j) e[i][j] = 0;原创 2014-12-21 21:38:09 · 935 阅读 · 0 评论 -
广度优先搜索之宝岛探险
对于一个矩阵,某一点的值代表是陆地,求初始一个点的小岛面积,即连起来的有多少个不孤立的点。 #include struct note { int x; int y; }; int main() { struct note que[2501]; int head, tail; int a[51][51]; int book[51][51] = { 0 };//标记是否走过,1代表走原创 2014-12-08 10:34:46 · 639 阅读 · 0 评论 -
用随机数实现快速排序
实现快读排序算法的关键在于先在数组中选择一个数字,接下来把数组中的数字分为两部分,比所选数字小的移到左半部分,比选择的数字大的移到右边,具体的实现代码如下: #include #include #include void swap(int *a,int *b) { int tmp=*a; *a=*b; *b=tmp; } int Partition(int data[],int n,in原创 2015-03-16 17:06:55 · 1687 阅读 · 0 评论