- 博客(7)
- 收藏
- 关注
原创 线段树模板
int date[MAXN];//存放输入数据struct Node{ int left,right; int sum;}tree[MAXN*4];//定义数的结点//建树void Build(int k,int l,int r){ tree[k].left=l; tree[k].right=r; if(tree
2016-08-13 10:23:32
192
原创 树状数组模板
lowbit实现/*x&(-x),当x为0时结果为0;x为奇数时,结果为1;x为偶数时,结果为x中2的最大次方的因子。比如x=32,其中2的最大次方因子为2^5,故x&(-x)结果为32;当x=28,其中2的最大次方因子为4,故x & (-x)结果为4。当x=24,其中2的最大次方因子为8,故 x&(-x)结果为8。*/int lowbit(int x){ r
2016-08-13 10:11:29
230
翻译 单链表的整表创建
//头插法/*随机产生n个元素的值,建立带表头结点的线性表L(头插法)*/void CreateListHead(LinkList *L,int n){ LinkList p; int i; srand(time(0)); //初始化随机数种子 /*Srand是种下随机种子数,你每回种下的种子不一样,用Rand
2016-08-13 09:48:32
362
翻译 线性表的链式存储结构(链表)
头指针和头结点的异同《头指针1,头指针是指链表指向第一个结点的指针,若链表有头结点,则是指向头结点的指针2,头指针具有标识作用,所以常用头指针冠以链表的名字3,无论链表是否为空,头指针均不为空。头指针是链表的必要元素《头结点1,头结点是为了操作的统一和方便而设立的,放在第一元素的结点之前,其数据域一般无意义(也可放链表的长度)2,有了头结点,对在第一元素结点前插入结点和
2016-08-06 15:56:53
454
原创 克鲁斯卡尔算法求最小生成树(并查集)
在说克鲁斯卡尔算法之前我们得明白一个并查集的知识,这是使用克鲁斯卡尔算法求最小生成树的前提。并查集主要用来解决判断两个元素是否属于同一个集合,以及把两个集合合并的一种数据结构。并查集初始时把每一个对象看作是一个单元素集合;然后依次按顺序读入等价对后,将等价对中的两个元素所在的集合合并。在此过程中将重复地使用一个搜索(find)运算,确定一个元素在哪一个集合中。当读入一个等价对A≡B时,先检
2016-08-03 09:59:15
6233
翻译 线性表的顺序存储结构
//线性表的顺序存储的结构代码#define MAXSIZE 20 /*存储空间初始分配量*/typedef int ElemType; /*ElemType 类型根据实际情况而定,这里假设为int,也可以为float,double等等*/typedef struct{ ElemType date[MASIZE]; /*数组存储数据元素,最大值为M
2016-07-26 15:00:53
341
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人