您现在的位置是:主页 > news > 河池网站建设/广州网站seo推广

河池网站建设/广州网站seo推广

admin2025/5/13 4:28:30news

简介河池网站建设,广州网站seo推广,做网站的为什么一直拖,网站源码上传加了队列 根节点入对,一个元素出队,出队元素的左,右节点入队(先左后右) 最基本的三层嵌套 -树或图不空{建立辅助元素,初始化-辅助元素不空时{-visit{添加辅助元素}}} void level (BTNode *bt) {if (bt ! NULL){int front, rear…

河池网站建设,广州网站seo推广,做网站的为什么一直拖,网站源码上传加了队列 根节点入对,一个元素出队,出队元素的左,右节点入队(先左后右) 最基本的三层嵌套 -树或图不空{建立辅助元素,初始化-辅助元素不空时{-visit{添加辅助元素}}} void level (BTNode *bt) {if (bt ! NULL){int front, rear…

加了队列
根节点入对,一个元素出队,出队元素的左,右节点入队(先左后右)

最基本的三层嵌套

-树或图不空{建立辅助元素,初始化-辅助元素不空时{-visit{添加辅助元素}}}
void level (BTNode *bt)
{if (bt != NULL){int front, rear;/*辅助队列的建立*/BTNode *que[maxSize] ;front = rear = 0;BTNode *p;rear = (rear + 1)%maxSize;que[rear] = bt;/*入队*/while (front != rear){front = (front + 1)%maxSize;p = que[front] ;Visit(p) ;if(p->lChild != NULL){rear = (rear + 1)%maxSize;que[rear] = p->1Child;}if(p->rChild != NULL){rear = (rear + 1)%maxSize;que [rear] = p->rChild;}}    }

在这里插入图片描述

void level (TNode *t,TNode tree[])
{if (bt != NULL){int front, rear;/*辅助队列的建立*/BTNode *que[maxSize] ;front = rear = 0;TNode *p;rear = (rear + 1)%maxSize;que[rear] = t;/*入队*/while (front != rear){front = (front + 1)%maxSize;p = que[front] ; Visit(p) ;Branch* q=p->first;//if(p->lChild != NULL){rear = (rear + 1)%maxSize;que[rear] = p->1Child;}while(q!=NULL){rear=(rear+1)%maxsize;que[rear]=&tree[q->Cidx];q=q->next}}    }

图的层序遍历的实现

多了visit数组和与之相关的操作。初始全零,每次访问置为1.

void level (G *G,int v)(BTNode *bt)
{int front, rear;/*辅助队列的建立*/BTNode *que[maxSize] ;front = rear = 0;Visit(v);visit[v]=1;ArcNode *p;rear = (rear + 1)%maxSize;que[rear] = v;/*入队*/while (front != rear){front = (front + 1)%maxSize;p = que[front] ;Visit(p) ;if(p->lChild != NULL){rear = (rear + 1)%maxSize;que[rear] = p->1Child;}if(p->rChild != NULL){rear = (rear + 1)%maxSize;que [rear] = p->rChild;}}
void level (BTNode *bt)
{if (bt != NULL){int front, rear;/*辅助队列的建立*/BTNode *que[maxSize] ;front = rear = 0;BTNode *p;rear = (rear + 1)%maxSize;que[rear] = bt;/*入队*/while (front != rear){front = (front + 1)%maxSize;p = que[front] ;Visit(p) ;if(p->lChild != NULL){rear = (rear + 1)%maxSize;que[rear] = p->1Child;}if(p->rChild != NULL){rear = (rear + 1)%maxSize;que [rear] = p->rChild;}}    }

二叉树的先序遍历的非递归实现

先序遍历的非递归实现:
栈(后进先出)

顺序颠倒:因为输出顺序是根左右,就是要求左孩子比右孩子先访问,所以,左孩子后入

void preorderNocur(*BTnode b)
{if(b!=NULL)/*如果为空什么都不做*/{BTnode *stack[maxsize];/*辅助栈的建立*/int top=-1;stack[++top]=b;while(top!=-1)//栈非空{出站访问p=stack[top--];/*出栈*/visite(p);/*访问*/if(p->RChild !=NULL){stack[++top]=p->RChild;}if(p->LChild !=NULL){stack[++top]=p->LChild;}}}
}
队列:生命只能向前,坚定信念的人都是英雄