- 博客(131)
- 资源 (2)
- 收藏
- 关注
原创 理解与使用Promise完成复杂异步处理流程
本文谈到的Promise是指javascript环境下的Promise,然而Promise这个功能在若干语言中均有实现,我本次会在Nodejs服务端环境下进行学习和理解。Promise是为了解决日趋复杂的异步程序设计而出现的,简单的异步例如:发起一个ajax请求来获取数据,之后渲染DOM。然而现实世界并没有这么简单,我们极有可能需要同时发起多个ajax请求并等待它们全部返回,在获得
2016-11-17 18:29:17
10892
2
原创 基于react实现无限分级菜单
在开发CMS(内容管理系统)系统时,一般都会用到一个侧边栏或者顶部的二级或者三级菜单,当点击或者鼠标悬浮时,菜单能够随之展开或收起。本文纯粹为了练习一下react,因此我会在react环境下实现这么一个小组件:它假设了菜单数据来自于网络请求,并且仅实现无限分级菜单的核心功能(父子关系,展开与收起),至于样式则不是关注的重点。分析&设计既然要实现一个动态生成的无限分级菜单,最
2016-11-17 18:27:28
9997
原创 资源URL。
http://www.cnblogs.com/leoo2sk/archive/2011/07/10/mysql-index.htmlhttp://tech.idv2.com/2008/07/31/memcached-005/http://www.mysqlops.com/2011/09/10/innodb-primary.htmlhttp://blog.csdn.net/joylnwa
2011-11-01 23:36:36
2553
原创 随机计算TFIDF作为权重,然后利用余弦距离进行聚类,用的是简单k-means算法。
#include #include #include #include #include #include #include #include #include using namespace std;struct Kmeans{ vector> >
2011-09-26 12:05:36
4365
1
原创 MD5
/* Copyright (C) 1999, 2002 Aladdin Enterprises. All rights reserved. This software is provided 'as-is', without any express or imp
2011-09-10 16:31:29
2797
原创 网址记录
http://www.cnblogs.com/chengmo/archive/2010/10/11/1847772.htmlhttp://dev.mysql.com/doc/refman/5.1/zh/index.htmlhttp://database.51cto.com
2011-09-06 12:36:14
2104
原创 滚动条的实现;
<br />#include <windows.h> //windows程序设计必须要包含的头文件#include <string.h>#include <stdio.h>#include "resource.h" //资源文件//////////////////////////////////////响应函数//////////////////////////////////////////////////////////LRESULT CALLBACK WndProc (HWND,
2011-02-26 13:23:00
1507
原创 Winsock;UDP;模板代码;
<br />#include <Winsock2.h>#include <stdio.h>#pragma comment(lib,"ws2_32.lib")int main(){ //加载套接字库 WORD wVersionRequested; WSADATA wsaData; int err; wVersionRequested=MAKEWORD( 1 , 1 ); err=WSAStartup(wVersionRequested,&wsaData)
2011-01-07 16:24:00
1490
原创 Winsock;TCP/IP编程;模板代码;VC++;单线程;
<br />#include <Winsock2.h>#include <stdio.h>#include <windows.h>#pragma comment(lib,"ws2_32.lib")int main(){ //加载套接字库 WORD wVersionRequested; WSADATA wsaData; int err; wVersionRequested=MAKEWORD( 1 , 1 ); err=WSAStartup(wVers
2011-01-07 16:05:00
1889
1
原创 多线程,网络聊天软件;
<br />BOOL CChatDlg::InitSocket(void){ if(INVALID_SOCKET==(m_socket=socket(AF_INET,SOCK_DGRAM,0))) { MessageBox(TEXT("套接字创建失败!")); return FALSE; } SOCKADDR_IN addrSock; addrSock.sin_family=AF_INET; addrSock.sin_port=htons(6000); addrS
2010-07-08 21:14:00
1899
2
原创 网络编程; winSock;
<br />#include <Winsock2.h>#include <stdio.h>int main(){ //////////////////////////////////////////// //设置选择WinSock协议 WORD wVersionRequested; WSADATA wsaData; int err; wVersionRequested = MAKEWORD( 1, 1 ); err = WSAStartup( wVer
2010-07-07 23:17:00
1180
原创 LESSON 9: 工具栏,状态栏.
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct){ if (CFrameWnd::OnCreate(lpCreateStruct) == -1) return -1; if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY |
2010-07-04 16:25:00
1131
原创 右键弹出快捷菜单
<br />void CAsdfView::OnRButtonUp (UINT nFlags, CPoint point) { // TODO: Add your message handler code here and/or call default CMenu menu; menu.LoadMenu(IDR_MENU1); CMenu *subMenu=menu.GetSubMenu(0); CPoint pt(point); ClientToScreen(&pt);
2010-07-04 10:24:00
1209
原创 LESSON8: 逃跑按钮, 多页表单, 向导; (悲剧的CSDN BLOG)
<br /> void CBtn::OnMouseMove(UINT nFlags, CPoint point) { // TODO: Add your message handler code here and/or call default ShowWindow(SW_HIDE); m_pBtn->ShowWindow(SW_SHOW); CButton::OnMouseMove(nFlags, point);} BOOL CProp1::OnSetActive
2010-07-04 01:24:00
1191
原创 LESSON 7:MFC 对话框的编写 ,关键代码;
<br />void CMyboleView::OnDialog() { // TODO: Add your command handler code here if(m_dlg.GetSafeHwnd()==NULL) { m_dlg.Create(IDD_DIALOG1,this); } m_dlg.ShowWindow(SW_SHOWNORMAL);}这是响应一个菜单消息,生成一个对话框并显示出来. 对话框对象为View类成员变量.<br /> <br /
2010-07-03 18:37:00
1252
原创 Lesson 1. 窗口的创建,简单的消息响应.
<br />#include <windows.h>#include <stdio.h>LRESULT CALLBACK WinSunProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam );int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,
2010-07-01 10:16:00
1104
原创 《算法导论:快速排序》:这种很优秀,代码简单,效率高,并且划分标准.
<br />#include <stdio.h>int partition(int *A,int p,int r){ int x=A[r]; int i=p-1; for(int j=p;j<=r-1;j++) { if(A[j]<=x) { i=i+1; int t=A[i]; A[i]=A[j]; A[j]=t; } } A[r]=A[i+1]; A[i+1]=x; return i+1;}void
2010-06-30 13:23:00
1591
原创 NP问题,最小顶点覆盖;主要是编程技巧;用了set,效率高,空间小,图用邻接表存储;
<br />#include <iostream>#include <set>#include <vector>using namespace std;/* Graph input*/const int SIZE = 1000;int u[SIZE],v[SIZE],m;set<int> vis;vector<int> cover;typedef struct node{ node() { v=-
2010-06-28 13:02:00
1648
4
原创 FFT快速傅里叶变换;
<br />#include <stdio.h>#include <stdlib.h>#include <math.h>#include <string.h>#include <algorithm>/*********************************/* π的一个近似值* 其他一些常量/*********************************/const double PI = 3.1415926535898;const int SI
2010-06-25 23:07:00
1227
原创 动态规划小题目;
<br />#include <stdio.h>const int M = 1000;int input[M][M];int row[M];int col[M];int m,n;void dpCol(int r){ int c=input[r][n-1],d=0; int i; for(i=n-2;i>=0;--i) { int a=input[r][i]+d,b=c; d=c; c = a > b ? a:b; } ro
2010-06-24 22:39:00
1167
原创 差分约束系统的图解法; 形式很特殊的一种线性规划问题; 可以转化为求带负边最短路问题;
<br />#include <stdio.h>/*********************************/* 差分系统的约束图* 由于bellman算法只需要边的信息* 所以只存边的相关信息就可以了/*********************************/const int MAXN = 10000;int u[MAXN],v[MAXN],w[MAXN];int dist[MAXN];int n,m;/*******
2010-06-23 15:57:00
1943
原创 强连通分量算法; 重在理解原理分析 ; 算法导论讲的很明白;
<br />#include <stdio.h>#include <string.h>const int MAXN = 10000;/*********************************/* 图G的邻接表表示/*********************************/int first1[MAXN];int next1[MAXN];int u1[MAXN],v1[MAXN];/************************
2010-06-23 15:51:00
1592
原创 Kmp算法; 建立在有限自动机理解基础上; 思想相当简单了;
<br />#include <stdio.h>#include <string.h>/*********************************/* KMP算法* 预处理时间:O(m), 运行时间O(n)* 改进了状态机算法的预处理时间* 依旧利用后缀最前前缀原理* 理解有限自动机后理解此算法/*********************************/const int MAXN=10000;char T[MAXN],P
2010-06-22 13:55:00
1028
原创 串匹配的有限自动机,说白了是一种状态转移函数;
<br />#include <cstdio>#include <algorithm>#include <cstring>using namespace std;/*********************************/* 有限自动机 字符串匹配算法* 预处理时间:* O(m^3 * numOf(charactors in string)* 匹配时间:* O(n)* 关键:构造状态变迁函数,复杂度较高,思想一流/******
2010-06-21 23:56:00
1089
原创 Rabin-Karp-MATCHER字符串匹配算法; 一种效率还不错的匹配算法; 思想是关键.
<br />#include <stdio.h>#include <string.h>/*********************************/* n:文本串T长度* m:模式串P长度* h:d^(m-1)* d:进制基数(这里采用26进制)* t[s]:对应位移s的文本串T子串的d进制表示* p:模式串P的d进制表示* q:对d进制整数模q,q是素数(越大越容易排出非法位移s,但是过大会导致模运算溢出,这里取13)/***
2010-06-21 19:23:00
1002
1
原创 二进制压缩存储+广搜;
<br />#include <iostream>#include <queue>#include <time.h>#include <windows.h>using namespace std;const int need = 3125010; //足够10000 * 10000 个位const int col=10000;unsigned int G[need],isV[need]; //图G , 访问标记isVint n,k;int cnt;
2010-06-18 11:31:00
607
原创 最小费用最大流算法; SPFA找最小耗费增广路; 算法简明扼要;
<br />#include <iostream>#include <queue>using namespace std;/*********************************/* 最小割最大流算法* 可以在求得最大流的同时获取最小割集S,T* 邻接矩阵存储各类信息/*********************************/#define INF 1000000const int MAXN=1000;int cap[MAXN][MAXN
2010-06-17 16:18:00
4799
1
原创 最大流最小割算法; BFS搜索增广路径; 算法简单,打印结果也比较清晰;
<br />#include <iostream>#include <queue>using namespace std;/*********************************/* 最小割最大流算法* 可以在求得最大流的同时获取最小割集S,T* 邻接矩阵存储各类信息/*********************************/#define INF 1000000const int MAXN=1000;int cap[MAXN][MAXN
2010-06-17 14:55:00
3529
3
原创 Bellman变形得来的SPFA最短算法(不能含负环);Floyd求两点间最短路,求有向图的闭包;
<br />#include <iostream>#include <queue>using namespace std;const int MAXN=100;/*********************************/* SPFA算法需要的空间分配/*********************************/queue<int> q;bool inq[MAXN];/*********************************/*
2010-06-17 10:26:00
1179
原创 Dijkstra单源最短路径算法; 优先队列+静态数组邻接表; STL优先队列还是没想明白排序原则;
<br />#include <iostream>#include <queue>using namespace std;const int MAXN =1000000;int u[MAXN];int v[MAXN];int w[MAXN];int d[MAXN];int first[MAXN];int next[MAXN];bool done[MAXN];typedef pair<int,int> pii;priority_queue<p
2010-06-16 21:07:00
1410
原创 并查集+Kruscal最小生成树; 温习了一下并查集, 同时又对静态数组的动态使用体会了一下;.
#include #include const int MAXN=10000;int u[MAXN]; //边的起点int v[MAXN]; //边的终点int w[MAXN]; //边的权值int r[MAXN]; //间接排序int p[MAXN]; //并查集int n; //顶点的数量int m; //边的数量int cmp(const void *a,const void *b){ int *p=(int*)a; int *q=(in
2010-06-16 18:31:00
751
原创 算术表达式构造二叉树; 二叉树计算算术表达式;
<br />#include <iostream>using namespace std;const int MAXN = 1000;int lch[MAXN],rch[MAXN];char op[MAXN];char input[MAXN];int nc=0;/*********************************/* 递归构造表达式树* 每次找括号外的+ - * /* 优先+ - 划分, 其次* /划分* 原则
2010-06-16 17:37:00
5433
1
原创 树上的动态规划;树的最大独立集;刷表DP,子问题彼此独立没有交集; 无根树转化有根树;
<br />#include <iostream>#include <vector>#include <algorithm>using namespace std;/*********************************/* 可以动态变化的邻接矩阵* G[i]表示顶点i的邻接点/*********************************/const int MAXN=100;vector<int> G[MAXN]; //无根树int l[M
2010-06-16 16:09:00
3587
2
原创 编码与解码;字符串字典序问题;根据字符串找位序,根据位序找字符串;
#include using namespace std;const int MAXSIZE=100000;char str[MAXSIZE];char out[MAXSIZE];int l[26];int len;int num;int g(int n){ int ret=1; for(int i=1;i
2010-06-16 01:12:00
987
1
原创 数论内容;各种模运算;筛法打素数表;
<br />#include <iostream>#include <cmath>#include <cstring>using namespace std;/*********************************/* gcd(int a,int b)* 原名:欧几里得算法* 辗转相除法求最大公约数* 无所谓a,b大小次序./*********************************/int gcd(int a,int
2010-06-15 18:23:00
1227
原创 集合上的DP,采用二进制与阶段的隐式使用;
<br />#include <iostream>using namespace std;#define MAX 1000000const int NUM = 20;int G[NUM][NUM];int n;int d[1<<NUM];int ret(){ d[0]=0; for(int ss=1;ss<(1<<n);++ss) { int i,j; d[ss]=MAX; //表示不可能
2010-06-15 13:04:00
714
原创 最大子段和O(n)算法;不是动态规划;思路挺独特;
<br />#include <iostream>using namespace std;int input[10000];int n;int minS[10000];int s[10000];int main(){ scanf("%d",&n); int i; s[0]=0; for(i=1;i<=n;++i) { scanf("%d",&input[i]); s[i]=s[i-1]+
2010-06-14 13:02:00
687
原创 8数码,静态数组+自建开散列哈希表;
<br />#include <stdio.h>#include <string.h>#include <stdlib.h>typedef int State[9];const int MAXSTATE=1000000; //状态数不会超过这个,9!种State st[MAXSTATE],goal; //状态数组, 目标状态int dist[MAXSTATE]; // 已走步数int fa[MAXSTATE]; // 前趋状态/*移动方向*/const int d
2010-06-13 19:31:00
865
原创 埃及分数;枚举递归树深度+回溯;习惯这些繁琐的搜索题;
<br />#include <stdio.h>#include <stdlib.h>#define MAX 10000000int a,b; //a<bint final[100];int temp[100];int n;int find=0;void score(int x,int y,int m){ if(m==n) { if(y%x==0&&y>x*temp[m-1]) { te
2010-06-13 17:04:00
651
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人