¶þ²æÊ÷¼°ÆäÓ¦ÓÃ
Ò»¡¢ÎÊÌâÃèÊö
¶þ²æÊ÷ÊÇÒ»ÖÖ³£¼ûµÄÊý¾Ý½á¹¹£¬ÔÚʵ¼ÊÖÐÓ¦ÓÃÊ®·Ö¹ã·º¡£¶þ²æÊ÷ÓÐ˳ÐòºÍÁ´Ê½Á½ÖÖ´æ´¢½á¹¹£¬¿ÉÒÔÔËÓõݹéºÍ·ÇµÝ¹éÉè¼ÆËã·¨£¬Äܹ»Çó½â½ÚµãÔÚ¶þ²æÊ÷ÖеIJã´ÎÊýµÈÎÊÌâ¡£ÔÚʵ¼ÊÓ¦ÓÃÖУ¬ÒªÇóÒÔͬѧ¼ΪÀýÍê³ÉϵͳµÄÉè¼ÆÓë¹ÜÀí¡£
¶þ¡¢»ù±¾ÒªÇó
1¡¢Ñ¡ÔñºÏÊʵĴ洢½á¹¹£¬Íê³É¶þ²æÊ÷µÄ½¨Á¢¡£×îºÃ²ÉÓÃ˳ÐòºÍÁ´Ê½Á½ÖÖ·½·¨¡£ 2¡¢ÔÚ˳Ðò¶þ²æÊ÷ÖÐÇó½â½ÚµãËùÔÚ²ã´ÎÊý¡£ 3¡¢ÔÚÁ´Ê½¶þ²æÊ÷ÖÐÇó½â½ÚµãËùÔÚ²ã´ÎÊý¡£
4¡¢ÒÔͬѧ¼ΪÀý£¬ÀûÓöþ²æÊ÷´æ´¢½á¹¹£¬ÊµÏÖ½¨Á¢¡¢²éÕÒ¡¢ÐÂÔö¡¢É¾³ýµÈ¹¦ÄÜ¡£
Èý¡¢²âÊÔÊý¾Ý
1¡¢·Ö±ðÒÔ˳ÐòºÍÁ´Ê½´æ´¢²âÊÔͼʾ¶þ²æÊ÷ÖнڵãEËùÔÚ²ã´Î£º
2¡¢Í¬Ñ§Â¼µÄ²âÊÔÊý¾Ý£º
\ÕÔÒ»\ \Ç®¶þ\ \ËïÈý\ \ÀîËÄ\
ÔÚÉϱíµÄµÄ»ù´¡ÉÏ£¬²âÊÔ±íµÄ½¨Á¢£¬ÒÔ¼°¼Ç¼µÄÐÂÔö¡¢Ð޸ġ¢É¾³ýµÈ¡£
ËÄ¡¢Ë㷨˼Ïë
1¡¢ÔÚ˳Ðò¶þ²æÊ÷ÏÂÇó½ÚµãËùÔÚ²ã´ÎÊý
±¾ÌâÖÐ˳Ðò¶þ²æÊ÷°´ÕÕÂú¶þ²æÊ÷µÄÔÔò½¨Á¢£¬¿Õ½Úµã´æ¡°0¡±¡£¹Ê½ÚµãËùÔÚ²ã´ÎcountÓë½ÚµãϱêmÓÐÈçϹØÏµ£º
1)³õʼ²ã´ÎÊýcount=1£¬µ±m=0ʱ£¬Ëù²é½Úµã²»´æÔÚ 2)µ±m·Ç0ʱ£¬Áîm=m/2£¬count¼ÓÒ»
3)m²»Îª1ʱ£¬·µ»Ø²ã´ÎÊýcount£»mΪ1ʱ£¬Öظ´²½Öè2) 2¡¢ÔÚÁ´Ê½¶þ²æÊ÷ÏÂÇó½ÚµãËùÔÚ²ã´ÎÊý
Ëã·¨ÒªÓ÷ǵݹéËã·¨Çó½â¶þ²æÊ÷Öиø¶¨½ÚµãµÄÉî¶È£¬ÎªÊµÏÖ²ã´Î·ÇµÝ¹éÇó½â£¬±ØÐë½èÓÃÊý¾Ý½á¹¹±£´æ½«Òª·ÃÎʵĽڵ㣬ÔÚº¯ÊýCengciTree(BiTreeLink T,char c)ÖÐÓÃÊý×équeueʵÏִ˹¦ÄÜ¡£¾ßÌå±à³Ìʱ£¬ÓñäÁ¿n±£´æµ±Ç°·ÃÎʵĽڵãµÄ²ã´ÎÊýÄ¿²¢³õʼ»¯Îª1£¬front
wilyes11ÊÕ¼¯ ²©¿Í(ÓëѧϰÎÞ¹Ø)£ºhttp://blog.sina.com.cn/u/1810231802
ºÍrearÊÇÊý×équeueÖе±Ç°ÕýÔÚ·ÃÎʵĽڵãµÄϱêÒÔ¼°¿É²åÈë½ÚµãµÄϱ꣬¶øflagÆðµ½±êÖ¾×÷ÓÃÓÃÀ´±íÃ÷ÊÇ·ñÒªÔö¼Óµ±Ç°µÄ²ã´ÎÊýn¡£
Ëã·¨¿ªÊ¼Ê±£¬Ê×ÏÈÅжÏÊ÷ÊÇ·ñΪ¿Õ£¬ÈôΪ¿ÕÊ÷Í˳ö³ÌÐò£»ÈôÊ÷²»Îª¿Õ£¬ÔòÏÈÅжϸù½ÚµãµÄÖµÊÇ·ñÓëÒª²éÕÒ½ÚµãµÄÖµÏàµÈ£¬ÈôÏàµÈÔò·µ»Øn£¬·ñÔò½«µ±Ç°²ã´În¼Ó1£¬²¢½«¸ù½ÚµãµÄ×óº¢×Ó¡¢ÓÒº¢×ÓÒÔ¼°¸ù½Úµã±¾Éí²åÈëµ½Êý×équeueÖС£¿ÉÄÜ£¬ÓÐÈË»áÎÊΪʲô»¹Òª½«¸ù½Úµã²åÈëµ½Êý×équeueÖУ¿ÕâÀ½«¸ù½Úµã²åÈëµ½Êý×équeueÖеÄÄ¿µÄÊÇ£¬µ±queue[front]±£´æµÄÊǸù½ÚµãµÄÖ¸Õëʱ£¬¶þ²æÊ÷µÄÒ»²ã½Úµã±éÀú½áÊøÁË£¬ÐèÒª½«µ±Ç°²ã´ÎÊýn¼Ó1²¢ÈÃqueue[rear]±£´æ¸ù½ÚµãµÄÖ¸Õë¡£
Ëã·¨µÄºËÐIJ¿·Ö¾ÍÊÇwhileÑ»·ÀïÃæµÄÄÚÈÝ£¬Ê×ÏÈÈñêÖ¾flagֵΪ0,Èç¹ûqueue[front]²»Îª¿ÕÇÒqueue[front]->dataµÄÖµµÈÓÚÒª²éÕÒµÄÖµc£¬³ÌÐò½áÊø·µ»Øn¼´¿É£»Èôqueue[front]µÄÖµÊÇÖ¸Ïò¸ù½ÚµãµÄÖ¸Õ룬±íÃ÷µ±Ç°²ã´ÎÉϵÄËùÓнڵ㶼ÒѾ·ÃÎʹýÁË£¬Òª·ÃÎÊÏÂÒ»¸ö²ã´ÎµÄ½ÚµãÁË£¬¹ÊÒª°Ñn¼Ó1²¢ÈÃflagֵΪ1ÒÔ±íÃ÷ÔÚÊý×éµÄ²åÈëλÖÃqueue[rear]ÐèÒª¸³ÖµÎª¸ú½ÚµãµÄÖ¸Õ룻Èç¹û£¬¾ù²»ÊÇÉÏÊöÇé¿ö£¬Ôò½«queue[front]µÄ×óº¢×Ó¡¢ÓÒº¢×Ó¶¼·Åµ½Êý×équeueÖУ¬²¢½«frontÖ¸ÏòÏÂÒ»¸öÔªËØ¡£Öظ´ÉÏÊöÑ»·£¬Ö±µ½ÕÒµ½ÁËÒª²éÕÒµÄÖµ£¬»òÕß±éÀúÁËËùÓеĽڵ㡣 3¡¢Í¬Ñ§Â¼µÄʵÏÖ
±¾ÌâµÄÒ»¸öʵ¼ÊÓ¦ÓÃÊÇʵÏÖͬѧ¼£¬ÎÒÃDzÉÓöþ²æÊ÷´æ´¢½á¹¹£¬ÀûÓÃÔ¤ÖÃÊý×齨Á¢¶þ²æÊ÷£»ÏÈÐò·½Ê½±éÀú¶þ²æÊ÷²¢Êä³ö£»µÝ¹éË㷨ʵÏÖ¶Ôͬѧ¼µÄ²éÕÒ£»»ùÓÚ²éÕÒʵÏÖ¶Ôͬѧ¼µÄÐ޸ĺÍÐÂÔö³ÉÔ±£»ÇóËùÒª²Ù×÷½ÚµãµÄ¸¸Ç׽ڵ㣬´Ó¶øË³ÀûµÄ±àд¶Ôͬѧ¼µÄɾ³ý²Ù×÷¡£
Î塢ģ¿é»®·Ö£º
1¡¢ÔÚ˳Ðò¶þ²æÊ÷ÏÂÇó½ÚµãËùÔÚ²ã´ÎÊý
£¨1£©void Creattree()Æä¹¦ÄÜÊǽ¨Á¢Ë³Ðò¶þ²æÊ÷£» £¨2£©void Cengcitree()Æä¹¦ÄÜÊÇÇó½Úµã²ã´Î 2¡¢ÔÚÁ´Ê½¶þ²æÊ÷ÏÂÇó½ÚµãËùÔÚ²ã´ÎÊý
£¨1£©int CreateBiTree(BiTreeLink *T)Æä¹¦ÄÜÊǽ¨Á¢¶þ²æÊ÷£»
£¨2£©void PreOrderTraverse(BiTreeLink T) Æä¹¦ÄÜÊÇÏÈÐò±éÀú¶þ²æÊ÷£» £¨3£©int CengciTree(BiTreeLink T,char c) Æä¹¦ÄÜÊÇÇó²ã´ÎÊý £¨1£©int n=0,front=0,rear=0,flag;³õʼ»¯¶ÓÁУ» £¨2£©(front+1)%MAXSIZE!=rearÅж϶ÓÁв»Âú¡£
3¡¢ÒÔͬѧ¼ΪÀý£¬ÀûÓöþ²æÊ÷´æ´¢½á¹¹£¬ÊµÏÖ½¨Á¢¡¢²éÕÒ¡¢ÐÂÔö¡¢É¾³ýµÈ¹¦ÄÜ¡£ £¨1£©void CreateBiTree(DataType *items,BiTree *T)Æä¹¦ÄÜÊǽ¨Á¢Í¬Ñ§Â¼ £¨2£©void PreOrderTraverse(BiTree T)
£¨3£©PBTNode SearchTree(BiTree T,char *ch) £¨4£©void ModifyTree(BiTree T) £¨5£©void DeleteTree(BiTree T)
4¡¢main()Ö÷º¯Êý£¬¹¦ÄÜÊǵ÷ÒªÏà¹Øº¯ÊýʵÏÖÎÊÌâµÄÇó½â¡£
Áù¡¢Êý¾Ý½á¹¹£º
1¡¢¶þ²æÊ÷µÄ³éÏóÊý¾ÝÀàÐͽṹ¶¨Ò壺 typedef struct Node { TElemType data;
struct Node *lchild,*rchild; } BiTNode, *BiTreeLink;
wilyes11ÊÕ¼¯ ²©¿Í(ÓëѧϰÎÞ¹Ø)£ºhttp://blog.sina.com.cn/u/1810231802
2¡¢Í¬Ñ§Â¼½ÚµãÐÅÏ¢£º typedef struct Info{
char name[20]; //ÐÕÃû char date[11]; //ÉúÈÕ char phone[12]; //µç»° char StudentNum[11];//ѧºÅ }DataType;
3¡¢Í¬Ñ§Â¼Êý¾Ý´æ´¢½á¹¹£º typedef struct Node { DataType data;
struct Node *left,*right; }BTNode, *PBTNode,*BiTree;
Æß¡¢Ô´³ÌÐò£º
1¡¢ÔÚ˳Ðò¶þ²æÊ÷ÏÂÇó½ÚµãËùÔÚ²ã´ÎÊý #define maxlen 100 #include\typedef struct node { char data;
} Bitree[maxlen]; int N; Bitree T; /*½¨Á¢¶þ²æÊ÷*/ void Creattree() { int i; char c;
printf(\ÇëÊäÈë½áµãÊýÄ¿(°üÀ¨¿Õ½áµã)£º\ scanf(\
printf(\ÇëÊäÈë½áµã(¿Õ½áµãΪ0):\ for(i=1;i<=N;i++) {
scanf(\ T[i].data=c; } }
/*Çó¶þ²æÊ÷½ÚµãËùÔÚ²ã´Î*/ void Cengcitree() {
int i,m=0,count=1; char c; printf(\ÇëÊäÈëijһ½áµã£º\ scanf(\ i=1;
while(i<=N) {
if(T[i].data==c){m=i; break;}
wilyes11ÊÕ¼¯ ²©¿Í(ÓëѧϰÎÞ¹Ø)£ºhttp://blog.sina.com.cn/u/1810231802
i++; }
if (m==0)
printf(\½Úµã²»´æÔÚ\ while(m!=1) {
m=m/2; count++; }
printf(\½ÚµãËùÔÚ²ã´Î:%d\\n\}
/*Ö÷º¯Êý*/ void main() {
Creattree(); Cengcitree();}
2¡¢ÔÚÁ´Ê½¶þ²æÊ÷ÏÂÇó½ÚµãËùÔÚ²ã´ÎÊý #include \#include
typedef char TElemType;
/* ¶þ²æÁ´Ê÷µÄÀàÐͶ¨Òå*/ typedef struct BiTNode { TElemType data;
struct BiTNode *lchild,*rchild; } BiTNode, *BiTreeLink;
/*ÏÈÐò½¨Á¢¶þ²æÊ÷*/
int CreateBiTree(BiTreeLink *T) { char ch;
scanf(\ if (ch==' ') *T=NULL; else
{ *T=(BiTreeLink)malloc(sizeof(BiTNode));
if (!(*T)) return 0; /* δ·ÖÅäµ½¿Õ¼ä´íÎó·µ»Ø*/ (*T)->data=ch;
CreateBiTree(&(*T)->lchild); CreateBiTree(&(*T)->rchild); } return 1; }
wilyes11ÊÕ¼¯ ²©¿Í(ÓëѧϰÎÞ¹Ø)£ºhttp://blog.sina.com.cn/u/1810231802