對酒當歌,人生幾何? 譬如朝露,去日苦多

数据结构之快排

推荐博客:http://developer.51cto.com/art/201403/430986.htm#include<stdio.h> #include<string.h> #include<iostream> #include<algorithm> using namespace std; const int maxn=1000; int a[maxn]; int mid; int partsort(int *a,int low,int high) { int gg=low; int flag=a[low]; //printf("flag=%d\n",flag); while(low<high) { //printf("%d %d\n",a[low],a[high]); while(low<high&&a[high]>=flag) --high; while(low<...

网络流

网络流之最大流1.EK算法跑一遍bfs找到这条路上的最小边minn,sum+=minn,回溯,正向边-minn,反向边+minn。重复这个过程直到没有路可跑。2.FF算法跑dfs找到终点,确定最小边minn,回溯,正向边-minn,反向边+minn,sum+=minn,重复整个过程直到没有路可跑。3.Dinic算法bfs建立图层,dfs深搜。1.学习链接:http://blog.csdn.net/mystery_guest/article/details/51910913

数据结构之链表

typedef struct node { int data; struct node *next; }node,*linklist; //node *和linklist同为结构体指针类型 //这两种类型定义本质上是等价的 //为了提高程序的可读性,通常习惯上 //用linklist定义头指针变量 

笑谈指针

1.计算机内存划分首先把计算机看成一个学生公寓楼,每个房间就是一个内存单元,每个房间号就是存储单元的地址(计算机中地址编码的最基本单位是字节(每个字节由8个二进制位组成))。2.普通变量与指针变量的区分(其实指针类型的存放的是指针,另外就是指针还能指向另一个地方)int a; int *a;这样几乎没有什么不一样,房间名字都是a,但是一个存放int型变量一个存放地址。如果p存放了一个地址,那么*p就指向存放这个地址的房间#include<stdio.h> int main() { int *p;//声明p是一个int型的指针 int a=10; p=&a; printf("%d\n",*p);//输出指针p所指向的内容 return 0; }还用一种错误用法(我感觉是错的,不然指针意义何在?)#include<stdio.h> int main() { int *p; scanf("%d",&p);//&p取p的地址,然后把一个数放进去 //...

数据结构之基本概念和术语

1.数据,数据元素,数据项,数据对象数据{ {数据对象},{数据元素{数据项} } }数据元素是数据的基本单位。数据项是组成数据元素的,有独立含义的,不可分割的最小单位。2.数据结构数据结构是相互之间存在一种或多种特定关系的(数据元素)的集合。(1)逻辑结构集合结构,线性结构,树结构,图结构(2)存储结构顺序存储结构,链式存储结构3.算法时间复杂度和空间复杂度只需注意常数的时间复杂度是O(1)