搜档网
当前位置:搜档网 › 2012年青海省C++语言版深入

2012年青海省C++语言版深入

1、后序遍历最后访问根结点,即在递归算法中,根是压在栈底的。采用后序非递归算法,栈中存放二叉树结点的指针,当访问到某结点时,栈中所有元素均为该结点的祖先。本题要找p和q 的最近共同祖先结点r ,不失一般性,设p在q的左边。后序遍历必然先遍历到结点p,栈中元素均为p的祖先。将栈拷入另一辅助栈中。再继续遍历到结点q时,将栈中元素从栈顶开始逐个到辅助栈中去匹配,第一个匹配(即相等)的元素就是结点p 和q的最近公共祖先。

typedef struct

{BiTree t;int tag;//tag=0 表示结点的左子女已被访问,tag=1表示结点的右子女已被访问

}stack;

stack s[],s1[];//栈,容量够大

BiTree Ancestor(BiTree ROOT,p,q,r)//求二叉树上结点p和q的最近的共同祖先结点r。{top=0; bt=ROOT;

while(bt!=null ||top>0)

{while(bt!=null && bt!=p && bt!=q) //结点入栈

{s[++top].t=bt; s[top].tag=0; bt=bt->lchild;} //沿左分枝向下

if(bt==p) //不失一般性,假定p在q的左侧,遇结点p时,栈中元素均为p的祖先结点{for(i=1;i<=top;i++) s1[i]=s[i]; top1=top; }//将栈s的元素转入辅助栈s1 保存

if(bt==q) //找到q 结点。

for(i=top;i>0;i--)//;将栈中元素的树结点到s1去匹配

{pp=s[i].t;

for (j=top1;j>0;j--)

if(s1[j].t==pp) {printf(“p 和q的最近共同的祖先已找到”);return (pp);}

while(top!=0 && s[top].tag==1) top--; //退栈

if (top!=0){s[top].tag=1;bt=s[top].t->rchild;} //沿右分枝向下遍历

}//结束while(bt!=null ||top>0)

return(null);//q、p无公共祖先

}//结束Ancestor

2、设t是给定的一棵二叉树,下面的递归程序count(t)用于求得:二叉树t中具有非空的左,右两个儿子的结点个数N2;只有非空左儿子的个数NL;只有非空右儿子的结点个数NR和叶子结点个数N0。N2、NL、NR、N0都是全局量,且在调用count(t)之前都置为0.

typedef struct node

{int data; struct node *lchild,*rchild;}node;

int N2,NL,NR,N0;

void count(node *t)

{if (t->lchild!=NULL) if (1)___ N2++; else NL++;

else if (2)___ NR++; else (3)__ ;

if(t->lchild!=NULL)(4)____; if (t->rchild!=NULL) (5)____;

}

26.树的先序非递归算法。

void example(b)

btree *b;

{ btree *stack[20], *p;

int top;

if (b!=null)

{ top=1; stack[top]=b;

while (top>0)

{ p=stack[top]; top--;

printf(“%d”,p->data);

if (p->rchild!=null)

{(1)___; (2)___;

}

if (p->lchild!=null)

(3)___; (4)__;

}}}}

3、#define maxsize 栈空间容量

void InOutS(int s[maxsize])

//s是元素为整数的栈,本算法进行入栈和退栈操作。

{int top=0; //top为栈顶指针,定义top=0时为栈空。

for(i=1; i<=n; i++) //n个整数序列作处理。

{scanf(“%d”,&x); //从键盘读入整数序列。

if(x!=-1) // 读入的整数不等于-1时入栈。

if(top==maxsize-1){printf(“栈满\n”);exit(0);}

else s[++top]=x; //x入栈。

else //读入的整数等于-1时退栈。

{if(top==0){printf(“栈空\n”);exit(0);}

else printf(“出栈元素是%d\n”,s[top--]);}

}

}//算法结

4、设指针变量p指向双向链表中结点A,指针变量q指向被插入结点B,要求给出在结点A 的后面插入结点B的操作序列(设双向链表中结点的两个指针域分别为llink和rlink)。

江西省医院大全

江西省医院大全

目录 南昌市医院大全(74家): (3) 九江市医院大全(42家): (6) 赣州市医院大全(64家): (8) 吉安市医院大全(47家): (11) 上饶市医院大全(52家): (13) 景德镇市医院大全(11家): (15) 宜春市医院大全(48家): (16) 新余市医院大全(8家): (18) 萍乡市医院大全(21家): (19) 鹰潭市医院大全(15家): (20) 抚州市医院大全(41家): (21) 全江西县级以上医院总共:423家医院,三甲医院共23家:南昌市16家;九江市2家;赣州市1家;上饶市1家;宜春市1家;萍乡市1家;抚州市1家;

一、南昌市医院大全 (74家,其中4家民营) 、

南昌大学附属第四医院;江西省肿瘤医院;南昌市第七医院;江西医学院附属第四医院(铁路医院);南昌市第九医院;南昌市西湖区妇幼保健所;江西中医学院附属医院江西省中医院;南昌市第三按摩医院;南昌市湖坊医院;南昌市精神病院;南昌同济医院;南昌市第三医院;南昌市第六医院;南昌市西湖区医院;南昌地区邮电职工医院;南昌市高新开发区医院;南昌市第五医院 东湖区(23) 南昌大学第一附属医院;南昌大学第二附属医院;南昌市第二医院;江西凤凰第一医院;江西省儿童医院;江西医学院第二附属医院;江西医学院第一附属医院;南昌市第一医院;江西省人民医院;江西省胸科医院;南昌大学附属口腔医院;江西省中西医结合医院;南昌市第二中西医结合医院;南昌高新医院;江西棉纺织印染厂职工医院;南昌市洪都中医院;南昌市妇幼保健院;南昌市妇幼保健所;南昌市第八医院;南昌市第二按摩医院;南昌市按摩医院;南昌市第十医院;江西同仁中西医门诊部 青云谱区(8) 武警江西总队医院;南昌市结石病专科医院;江西仁济医院南昌三三四医院;南昌男性医院;南昌三三四医院;南昌华夏医院;江西锅炉化工石油机械联合公司职工医院;南昌长峰医院 湾里区(2) 南昌市第四医院;南昌市湾里中医院 青山湖区(4) 南昌市高新医院;南昌钢铁公司职工医院;南昌丰益肛肠医院;南昌哪家医院治痔疮南昌县(8) 江西省水电工程局职工医院;南昌大学向塘医院;南昌县人民医院;南昌县中医院;南昌县向塘中心医院;南昌县妇幼保健所;江西省蚕桑茶叶研究所职工医院;南昌县向塘医院

河北省各地医院大全

石家庄市 ?河北省人民医院 ?河北省胸科医院(河北省结核病防治院) ?河北省儿童医院(河北省第五医院) ?河北省医学科学院附属医院 ?河北省妇幼保健中心 ?河北医科大学第一医院 ?河北医科大学第二医院 ?河北医科大学第三医院 ?河北医科大学第四医院(河北省肿瘤医院) ?河北省中医院 ?石家庄市第二医院 ?石家庄市第四医院(市妇产科医院) ?石家庄市妇幼保健院(石家庄市第六医院) ?石家庄市结核病防治所 ?石家庄市第一医院(原市人民医院) ?石家庄市第三医院 ?石家庄市第五医院(原传染病医院) ?石家庄市中医院 ?中国人民警察石家庄132医院 ?石家庄市长安区医院(石家庄市长安区肛肠专科医院)?石家庄市桥西医院

?中化第十二建设公司职工医院 ?信息产业部电子第五十四研究所职工医院?中国人民解放军六四一一工厂医院 ?石家庄第五棉纺织厂职工医院 ?石家庄市纺织厂职工医院 ?石家庄车辆厂医院 ?石家庄金刚集团职工医院 ?石家庄化肥集团有限责任公司职工医院?石家庄市公交医院 ?河北以岭医药研究院附属医院 ?河北中医肝病医院 ?石家庄市新华区医院 ?河北省妇幼保健中心 ?华北制药厂医院(石家庄偏瘫医院) ?石家庄炼油厂职工医院 ?石家庄第二棉纺织厂职工医院 ?石家庄市钢铁有限责任公司职工医院 ?石家庄炼油厂职工医院 ?石家庄第二棉纺织厂职工医院 ?石家庄棉七纺织股份有限公司职工医院?石家庄市纺织经编厂职工医院

?河北太行机械厂职工医院 ?中建一局六公司职工医院 ?河北红十字会博爱医院 ?石家庄石岗医院(石家庄不孕不育症研究所) ?河北省辛集市第一医院 ?河北省辛集市中医院 ?华北石油辛集矿区医院 ?河北省深泽县医院 ?河北省无极县医院 ?河北省无极县中医院 ?河北省晋州市医院 ?河北省晋州市中医院 ?河北省藁城市人民医院 ?河北省藁城市中西医结合医院 ?河北省正定县人民医院 ?河北省新乐市医院 ?河北省新乐骨髓炎医院(河北省中医骨髓炎治疗中心)?河北省新乐荣军精神病医院 ?河北省行唐县人民医院 ?河北省行唐县中医院 ?河北省灵寿县医院

河南省医院大全

河南省医院大全 郑州市 河南中医学院第六附属医院三级甲等郑州市红十字医院三级甲等 郑州大学第五附属医院三级甲等河南省中医院三级甲等 河南省肿瘤医院三级甲等三级甲等郑州市骨科医院三级甲等 郑州市中心医院三级甲等郑州大学第一附属医院三级甲等 河南省中医院三级甲等郑州大学第二附属医院三级甲等 郑州市中心医院三级甲等河南中医学院第一附属医三级甲等院 河南省直第三人民医院二级甲等郑州市第五人民医院二级甲等 郑州市妇幼保健院二级甲等郑州市儿童医院二级甲等 河南省胸科医院二级甲等河南电力医院二级甲等 郑州安泰医院二级甲等中国长城铝业公司总医院二级甲等 郑州市第二人民医院二级甲等郑州市管城区中医院二级甲等 郑州中医骨伤病医院二级甲等省肛肠医疗中心郑州市大肠肛门二级甲等郑州大学第四附属医院二级甲等郑州中医骨伤病医院二级甲等 郑州市第三人民医院二级甲等郑州市第九人民医院二级甲等 郑州市第一人民医院二级甲等河南省煤炭总医院二级甲等 郑州市中原区人民医院二级甲等郑州中医骨伤病医院二级甲等 郑州仁和老年病医院二级甲等郑州市二砂医院二级甲等 驻马店市第四人民医院二级甲等河南省胸科医院二级甲等 郑州仁和老年病医院二级甲等郑州中医骨伤病医院二级甲等 郑州市颈肩腰腿痛医院二级乙等河南省职工医院二级乙等 郑州市第六人民医院二级乙等郑州市第六人民医院二级乙等 郑州东方肿瘤医院一级甲等郑州安泰医院一级甲等 郑州铁路医院一级甲等郑州市第一按摩医院一级甲等 郑州铁路局郑州医院一级甲等河南省工商银行医院一级甲等 郑州市第二按摩医院一级甲等郑州市第五棉纺织厂职工医院一级甲等郑州市第三棉纺厂职工医院未知郑州农大校医院未知 郑州大学医院未知郑州民生医院未知 郑州市侨光医院未知郑州市骨髓炎医院未知 郑州市管城男性病专科医院未知郑州市二七区第二人民医院未知 郑州市邙山区妇幼保健所未知郑州市邙山区中医院未知 郑州市二七区妇幼保健所未知郑州市邙山区人民医院未知 郑州市中原区中医院未知郑州市金水区第二人民医院未知 郑州国医堂医院未知郑州博大泌尿外科医院未知 郑州华康医院骨伤骨病治疗中心未知郑州矿务局米村煤矿职工医院未知 河南省嵩岳集团郑州印染厂职工医院未知郑州卷烟厂职工医院未知 河南口岸医院未知河南开普化工股份有限公司职工医院未知郑州市第二中医院未知河南民族医院未知 河南省中医药研究院附属医院未知河南省军区郑州长城医院未知 河南省银行医院未知郑州市第二砂厂职工医院未知 河南五建医院未知郑州市糖尿病医院未知

相关主题