正在阅读:C++数据结构学习:二叉树(2)C++数据结构学习:二叉树(2)

2004-02-14 09:34 出处:PConline 作者:happycock/CSDN 责任编辑:linjixiong
由于对其他体系不太了解,以下观点姑妄听之。在内存空间非常充裕的现在,一个节点省2~3个字节实在是没什么意思(实际上由于对齐还省不出来);而在内存非常宝贵的地方(比如单片机),会尽量避免使用树结构——利用其他的方法。所以,现在看来,线索化二叉树真的是毫无用处了。   二叉搜索树   这恐怕是二叉树最重要的一个应用了。它的构想实际是个很自然的事情——查找值比当前节点小转左,大转右,等则查到,到头了就是没找着。越自然的东西越好理解,也就越不需要我废话。在给出BST的实现之前,我们要在二叉树的类中添加一个打印树状结构的成员函数,这样,就能清楚的看出插入和删除过程。   public:      voidprint()   {   queue*>a;queueflag;ofstreamoutfile("out.txt");   BTNode*p=root;BTNodezero;boolv=true;   inti=1,level=0,h=height();   while(i<2<data;   elsecout<<'';      }   else      {      cout<data;      elsecout<<"";      }      if(p->left){a.push(p->left);flag.push(true);}      else{a.push(&zero);flag.push(false);}      if(p->right){a.push(p->right);flag.push(true);}      else{a.push(&zero);flag.push(false);}      p=a.front();a.pop();v=flag.front();flag.pop();i++;      }      cout<
键盘也能翻页,试试“← →”键

关注我们

最新资讯离线随时看 聊天吐槽赢奖品