- 1、本文档共144页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
考研 期末 数据结构 第六章_树和二叉树
第六章 树和二叉树 Status PreOrderTraverse( BiTreee T, Status ( * Visit)(TElemType e) ) { //采用二叉链表存储结构, Visit是对数据元素操作的应用//函数,先序遍历二叉树T的递归算法,对每个数据元素调用//函数Visit。最简单的Visit函数是: // Status PrintElement(TElemType e){ //输出元素e的值 // printf( e ); //实用时,加上格式串 // return OK; // } //调用实例: PreOrderTraverse( T, PrintElement); if (T) { if (Visit(T-data )) if (PreOrderTraverse(T-lchild, Visit)) if (PreOrderTraverse(T-rchild, Visit)) return OK; return ERROR; }else return OK; }// PreOrderTraverse Status InOrderTraverse( BiTreee T, Status ( * Visit)(TElemType e) ) { //采用二叉链表存储结构, Visit是对数据元素操作的应用 //函数。中序遍历二叉树T的非递归算法,对每个数据元素调用//函数Visit。 InitStack(S); Push(S,T); //根指针进栈 while (! StackEmpty(S)) { while (GetTop(S,p)) p) Push(S,p-lchild); //向左走到尽头 Pop(S,p); //空指针退栈 if (!StackEmpty(S)) { //访问结点,向右一步 Pop(S,p); if( !Visit(p-data)) return ERROR; Push(S,p-rchild); }//if }//While return OK; }// InOrderTraverse Status InOrderTraverse( BiTreee T, Status ( * Visit)(TElemType e) ) { //采用二叉链表存储结构, Visit是对数据元素操作的应用//函数。中序遍历二叉树T的非递归算法,对每个数据元素调 //用函数Visit。 InitStack(S); p=T; while (p|| !StackEmpty(S)) { if (p) {Push(S,p); p=p-lchild); //根指针进栈,遍历左子树 else{ //根指针退栈,访问根结点,遍历右子树 Pop(S,p); if( !Visit(p-data)) return ERROR; p=p-rchild }//else }//While return OK; }// InOrderTraverse Status CreateBiTree( BiTreee T ) { //按先序次序输入二叉树中结点的值(一个字符),空 //字符表示空树。构造二叉链表表示的二叉树T。 scanf(ch); if (ch==‘ ’) T=NULL; else{ if( !(T=(BiTNode * )malloc(sizeof(BiTNode)))) exit(OVERFLOW); T-data=ch; //生成根结点 CreateBiTree(T-lchild); //构造左子树 CreateBiTree(T-rchild); //构造右子树 } return OK; }// CreateBiTree 4、建立二叉树的存储结构 不同的定义方法相应有不同的存储结构的建立算法。 6.6 赫夫曼树及其应用 //----赫夫曼树和赫夫曼编码的存储表示---- typedef struct { unsigned int weight ; unsig
文档评论(0)