数据结构
在坑中挖井
18年毕业,什么都不会,但是既然进坑了,我希望我能将坑挖成井,嘿嘿
展开
-
在网上看的,写的不错
线段树的入门级 总结 线段树是一种二叉搜索树,与区间树相似,它将一个区间划分成一些单元区间,每个单元区间对应线段树中的一个叶结点。 对于线段树中的每一个非叶子节点[a,b],它的左儿子表示的区间为[a,(a+b)/2],右儿子表示的区间为[(a+b)/2+1,b]。因此线段树是平衡二叉树,最后的子节点数目为N,即整个线段区间的长度。 使用线转载 2015-08-01 15:10:03 · 300 阅读 · 0 评论 -
树和二叉树的学习——树的编号,nyoj,小猴子下落 就可以仿写
最近在学树,有兴趣的大家一起学 /*二叉树的编号问题,对于一个节点k,其左子节点,右子节点的编号分别为2k和2k+1*/ /*小球下落问题*/ #include #include int main() { int d,i;//d表示树的深度,i表示小球的个数(小球的编号) while(scanf("%d%d",&d,&i)!=EOF) { int j;原创 2015-07-30 16:40:02 · 447 阅读 · 0 评论 -
nyoj Tree
#include #include #include #include using namespace std; typedef struct Node { Node * lchild,*rchild; char value; } Tree; void ReBuild(char *PreOrder,char *InOrder,int TreeLen,Tree** r原创 2015-08-06 19:06:06 · 531 阅读 · 0 评论 -
二叉树的三种遍历
1、先序遍历:先序遍历是先输出根节点,再输出左子树,最后输出右子树。上图的先序遍历结果就是:ABCDEF 2、中序遍历:中序遍历是先输出左子树,再输出根节点,最后输出右子树。上图的中序遍历结果就是:CBDAEF 3、后序遍历:后序遍历是先输出左子树,再输出右子树,最后输出根节点。上图的后序遍历结果就是:CDBFEA #include #原创 2015-08-06 19:09:18 · 478 阅读 · 0 评论 -
链表
#include #include #include #define len sizeof(struct list) struct list{ int data; struct list *next; }; struct list *la,*lb; struct list *initlist(){ struct list *head; head=(struct list*)转载 2016-01-04 17:24:57 · 257 阅读 · 0 评论 -
双向链表的创建
#include #include #include #define len sizeof(struct doublelist) struct doublelist{ int data; struct doublelist *perior,*next; }; struct doublelist *creat() { struct doublelist *p1,*p2,*hea原创 2016-01-08 17:09:25 · 260 阅读 · 0 评论 -
数据结构,栈,括号配对
bool Match(Sqstack &s) { char str[100]; int i; printf("请输入括号串:"); scanf("%s",str); for(i=0;i { switch(str[i]) { case '[': push(s,'['); break; case ']': if(*(s.top-1)=='[') pop(s); else原创 2016-01-08 21:20:08 · 366 阅读 · 0 评论 -
二叉树的创建,遍历
#include #include #include typedef int DataType; typedef struct Node { DataType data; struct Node *LChild; struct Node *RChild; }BitNode,*BitTree; void CreatBiTree(BitTree *bt)//用扩展先序遍转载 2016-01-09 16:15:42 · 334 阅读 · 0 评论