![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
在坑中挖井
18年毕业,什么都不会,但是既然进坑了,我希望我能将坑挖成井,嘿嘿
展开
-
在网上看的,写的不错
线段树的入门级 总结 线段树是一种二叉搜索树,与区间树相似,它将一个区间划分成一些单元区间,每个单元区间对应线段树中的一个叶结点。 对于线段树中的每一个非叶子节点[a,b],它的左儿子表示的区间为[a,(a+b)/2],右儿子表示的区间为[(a+b)/2+1,b]。因此线段树是平衡二叉树,最后的子节点数目为N,即整个线段区间的长度。 使用线转载 2015-08-01 15:10:03 · 308 阅读 · 0 评论 -
树和二叉树的学习——树的编号,nyoj,小猴子下落 就可以仿写
最近在学树,有兴趣的大家一起学/*二叉树的编号问题,对于一个节点k,其左子节点,右子节点的编号分别为2k和2k+1*//*小球下落问题*/#include#includeint main(){ int d,i;//d表示树的深度,i表示小球的个数(小球的编号) while(scanf("%d%d",&d,&i)!=EOF) { int j;原创 2015-07-30 16:40:02 · 452 阅读 · 0 评论 -
nyoj Tree
#include#include#include#includeusing 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 · 537 阅读 · 0 评论 -
二叉树的三种遍历
1、先序遍历:先序遍历是先输出根节点,再输出左子树,最后输出右子树。上图的先序遍历结果就是:ABCDEF2、中序遍历:中序遍历是先输出左子树,再输出根节点,最后输出右子树。上图的中序遍历结果就是:CBDAEF3、后序遍历:后序遍历是先输出左子树,再输出右子树,最后输出根节点。上图的后序遍历结果就是:CDBFEA#include #原创 2015-08-06 19:09:18 · 484 阅读 · 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 · 264 阅读 · 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 · 274 阅读 · 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 · 375 阅读 · 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 · 347 阅读 · 0 评论