- 博客(30)
- 收藏
- 关注
原创 Node.js+Express+Socket.IO搭建在线聊天室
1.聊天问题图解:首先:用户聊天是通过Socket.IO完成的,和Express框架没有多大关系。最多就是同时监听同一个端口。2.既然是通过Socket.IO进行聊天,那么就必须有服务器端和客户端。如图:其他服务器端和客户端都是一个普通的js文件而已。(这里我就以 : chat.js为客户端 。 talk.js为服务器端)其实服务器端和客户端的函数大致都是一一
2015-04-07 22:00:54 1119 1
原创 最优二叉搜索树-动态规划
#include using namespace std;void OptimalBinarySearchTree(double a[] , double b[] , int n , double **m , int **s , double **w){ //初始化构造无内部节点的情况 for(int i = 0 ; i <= n ; i++){
2015-04-07 20:45:15 813
原创 流水作业调度-动态规划
#include #include #define N 100using namespace std;/*----------作业*/class Jobtype{ public: int operator <= (Jobtype a) const{
2015-04-07 20:42:18 1635
原创 图片压缩算法--动态规划
#include #include #define N 100using namespace std;int p[N+1] , s[N+1] , l[N+1] , b[N+1];//像素点集 ,每段所需长度 ,每段像素个数 , 每段的像素点位数/*-----------计算像素的位数*/int length(int i){ int k = 1;
2015-04-07 20:37:03 679
原创 最长单调递增子序列--动态规划
问题描述:设A是n个不同正整数构成的序列,求A的一个最长递增子序列。例如序列为1,5,3,8,10,6,4,9;它的最长递增子序列为1,5,8,10;1,5,8,9;...。以下提供了两个算法求解。LISdyna:时间复杂度为:n^2LIS:时间复杂度:n(logn)代码如下:#include using namespace std;int LISd
2015-04-07 20:32:43 1306
原创 最近点对问题 ---递归,分治
问题描述:在二维平面上的n个点中,找出最近的一对点,就是最近点对问题。代码如下:#include #include #include using namespace std;/*--------------顶点坐标*/typedef struct Point{ double x , y;};/*--------------操作顶点坐标*/
2015-04-07 14:45:28 920
原创 标准二维表问题-穷举
问题描述:设n 是一个正整数。2xn的标准2维表是由正整数1,2,…,2n 组成的2xn 数组,该数组的每行从左到右递增,每列从上到下递增。2xn的标准2维表全体记为Tab(n)。例如,当n=3时Tab(3)如下:算法如下:#include #define MAX 100using namespace std;int a[2][MAX];int c
2015-04-07 14:41:09 2295
原创 重复元素排序问题--递归
Description设集合R={r1,r2,...,rn}是要进行排列的n个元素,其中r1,r2,...,rn可能相同。试着设计一个算法,列出R的所有不同排列。即,给定n以及待排的n个可能重复的元素。计算输出n个元素的所有不同排列。Input第1行是元素个数n,1<=n<=15。接下来的1行是待排列的n个元素,元素中间不要加空格。Output程
2015-04-07 14:32:25 830
原创 整数因子分解问题--递归--动态规划
算法实现题 整数因子分解问题 问题描述: 大于 1 的正整数 n 可以分解为:n=x1*x2*…*xm。实现代码如下:#include #include #define MAX 10000using namespace std;/*----------递归---整数分解*/void solve(int m , int * ans){
2015-04-07 14:25:50 4197
原创 循环赛日程表--分治法
设有n=2^k个运动员要进行网球循环赛。现要设计一个满足以下要求的比赛日程表: (1)每个选手必须与其他n-1个选手各赛一次; (2)每个选手一天只能参赛一次; (3)循环赛在n-1天内结束。算法思路:按分治策略,我们可以将所有的选手分为两半,则n个选手的比赛日程表可以通过n/2个选手的比赛日程表来决定。代码如下:#incl
2015-04-07 14:19:50 3140
原创 众数问题-递归和分治
问题描述 给定一个数组,找出其中出现次数最多的那个元素(即众数)。例如:1 2 2 2 3 5众数是: 2算法思路:先排序 后用分治法计算求解分治法求解代码如下:#include #include #include using namespace std;/*----------快速排序*/int Partit
2015-04-07 14:10:28 4839 1
原创 Edmonds-Karp算法_网络流_最大流问题
可行流:即多条弧的集合,且每条弧的流量为非负的,且不超过该弧的容量;流入原点的流量等于流出终点的流量。最大流:即网络中的流量最大的可行流。最大流的求法:即由原网络得到残量网络,再找到残量网络中的增广路,根据增广路求最大流。步骤: 1. 找到残量网络中的一条增广路。 2. 求出该增广路上的最小的流量值,使各个弧的容量都减去这个值,并各个反向弧都加上这个值。
2015-04-07 14:01:09 575
原创 二分图最大匹配-匈牙利算法
二分图是这样一个图,它的顶点可以分类两个集合X和Y,所有的边关联在两个顶点中,恰好一个属于集合X,另一个属于集合Y。给定一个二分图G,M为G边集的一个子集,如果M满足当中的任意两条边都不依附于同一个顶点,则称M是一个匹配。图中包含边数最多的匹配称为图的最大匹配。图中 画红线的就是这个二分图的最大匹配。代码如下:#include #include #define M
2015-04-07 13:50:28 349
原创 大数加法.减法.乘法.除法
大数加法 代码实现:#include #include typedef char Str[1000];void PrintNum(int sum[] , int len)///---------输出{ int i; for(i = len-1 ; i >= 0 ; i--) printf("%d",sum
2012-11-07 20:47:30 736 5
原创 Cantor数表
cantor数表(算法竞赛入门 p81) 1/1 1/2 1/3 1/4 1/5............... 2/1 2/2 2/3 2/4 3/1 3/2 3/3
2012-11-06 22:19:19 456
原创 求大数N!
求n的阶乘 大家都知道小数的阶乘非常容易求,大数的阶乘也比较容易。 代码实现:#include #define MAX 100000int sum[MAX];void PrintNum()///----print{ int i; for(i = MAX-1 ; i>= 0 ; i--){
2012-11-06 22:14:50 691
原创 使用指针从函数中返回一个数组
使用指针从函数中返回一个数组 代码实现: #include #include int (*paf())[20]///----------数组函数{ int i , (*pear)[20]; pear = calloc(20 , sizeof(int)); if(!pear) exit(-1);
2012-11-01 21:15:13 747
原创 排序元素--递归实现
排序元素 本程序递归与素环问题一样。 输出: 11212312341241243131321324134134214142142314314322212132134214214323231231423423412424124132432431331
2012-10-30 19:49:12 394
原创 说明
说明: 1.本人大部分算法自己实现,可能与网上的其它文章有相同之处,不懂请看别人的文章; 2.程序代码大部分都用C语言写的,在 code::blocks(亲!选择74MB的)上编译通过; 3.支持研究代码,和优化,但发布到网上请注明出处。 本人不胜感激!!!!!!!
2012-10-28 13:52:37 492
原创 素数环问题
素数环问题 例: 杭电1016题 A环是由n周期图中所示。将自然数1,2,...中,n分别到每个圆,并在两个相邻的圆圈中的数字的总和应该是一个素数。注: 第一个圆的数目应始终为1。 代码实现:#include #include i
2012-10-26 12:36:59 383
原创 图论--kruskal算法
kruskal算法 代码实现:c#include #include #include #define MAX_LEN 20#define INTMAX 0xFFFF#define TRUE 1#define FALSE 0typedef char type[MAX_LEN];int father[MAX_LEN];int son
2012-10-22 22:58:56 494
原创 图论--Prim算法---邻接矩阵实现
Prim算法---邻接矩阵实现 求最小生成树。C语言实现: 代码实现:#include#include#include#define MAX_LEN 20#define TRUE 1#define FALSE 0#define OK 1#define ERROR 0#define INTMAX 0xFFFFt
2012-10-21 11:47:49 823
原创 图论--Floyd_Warshall算法---邻接矩阵实现
Floyd_Warshall算法---邻接矩阵实现 求每个点到其它点的最短路径。C语言实现: 除核心算法外,其他函数有的可以优化。 例如:层次 遍历。代码实现:#include#include#include#define
2012-10-21 11:42:44 1178
原创 图论--bellman_Ford算法---邻接表实现
bellman_Frod算法 求最短路径。 C语言实现。代码实现:#include #include #include #define MAX_LEN 20#define TRUE 1#define FALSE 0#define INTMAX 0xFFFF#define OK 1#define ERROR 0
2012-10-21 11:32:47 658
原创 图论--Dijkstra算法----邻接表实现
Djistra算法 输入的权值不能为负。C语言实现: 算法外部有所改动,核心算法没有改。声明: 代码在:code::blocks上编译通过。其他的没有试过。代码实现: #include #include #include #define MAX_LEN 20#def
2012-10-21 11:28:07 2876 3
原创 图论--SPFA算法---邻接表实现
SPFA算法 求一点到另外有通路的点权值最小的路径。 因为本人很喜欢C,所以SPFA算法就用C实现,代码有的地方可以优化。例如:层次遍历。 代码实现: #include #include #include #define MAX_LEN 20#define TRUE 1#define FALSE 0#d
2012-10-21 11:10:08 555
原创 火车车厢重排
火车车厢重排 一列货车共有n节车厢,每个车厢都有自己的编号,编号范围从1~n。给定任意次序的车厢,通过转轨站将车厢编号按顺序重新排成1~n。转轨站共有k个缓冲轨,缓冲轨位于入轨和出轨之间。开始时,车厢从入轨进入缓冲轨,经过缓冲轨的重排进入出轨。缓冲轨按照先进先出方式----队列,编写一个算法,将任意次序的车厢进行重排,.重排后车厢次序为n~1 。 重排成功:则输出,否则,程
2012-10-20 13:38:30 1774 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人