青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

linux&c++ R&D

programing is a pleasure!

A simple application example of binary tree structure

Binary Tree is  widely  employed in many cases as a very important data structrue.
I will take a simple example to introduce it.
Suppose we want to handle the more general problem of counting the occurrences of all the
words in some input.Since the list of words isn't known in advance,we can't conveniently sort it and use a binary search.Yet we can't do a linear search for each word as it arrives,to see if it's already been seen;the program would take a long time.
a binary tree will help us to solve the problem.
terminal:
First we define the node structure,which is used to store the infomation of each word.
it consists of word name,count,two pointer,which point to left subtree and right substree.
 secondly,tree structure is a binary sorted tree.
each word has a unique node in the tree.
the detailed code implemention below:

// wordTree.h: interface for the wordTree class.
//
//////////////////////////////////////////////////////////////////////
#ifndef        __WORDTREE_
#define        __WORDTREE_

class wordTree;


class wordNode{
friend 
class wordTree;
private:
   
char *word;
   
int count;
   wordNode 
*left,*right;
private:
   wordNode(
const char* w,wordNode *left=0,wordNode *right=0,int count=1);
   
~wordNode();
    inline 
void incrcount(){
        count
++;
    }

}
;
class wordTree  
{
 
public:
    wordTree():root(
0){
        
    }

    virtual 
~wordTree(){
        freetree(root);
    }

    
void addWord(const char *w);
    
void printTree();
private:
    wordNode
* addWord(wordNode *p,const char *w);
    
void printTree(wordNode *p);
    
void freetree(wordNode *p);
    wordNode
* root;
}
;

#endif 
// end __WORDTREE_

 

// wordTree.cpp: implementation of the wordTree class.
//
//////////////////////////////////////////////////////////////////////

#include 
"wordTree.h"
#include 
<string.h>
#include 
<iostream>


wordNode::wordNode(
const char* w,wordNode *left/* =0 */,wordNode *right/* =0 */,int count/* =0 */)
{
  
int len=strlen(w);
  word
=new char[len+1];
  strcpy(word,w);
  
  
this->left=left;
  
this->right=right;
  
this->count=count;

}

wordNode::
~wordNode()
{
    
if(word!=0)
        delete [] word;
}




void wordTree::addWord(const char *w){

    root
=addWord(root,w);

}

wordNode
* wordTree::addWord(wordNode *p,const char *w)
{
 
int cond;
 
if(p==0)
     p
=new wordNode(w);
  
else if((cond=strcmp(w,p->word))==0)
      p
->incrcount();
 
  
else if (cond<0)
      p
->left=addWord(p->left,w);
  
else
      p
->right=addWord(p->right,w);
  
return p;
}

void wordTree::printTree()
{
  printTree(root);
 }

void wordTree::printTree(wordNode *p)
{
 
if (p==0)
     
return;
 printTree(p
->left);
 std::cout
<<p->word<<"  count:  "<<p->count<<std::endl;
 printTree(p
->right);
}

void wordTree::freetree(wordNode *p)
{
  
if(p==0)
      
return;
  freetree(p
->left);
  freetree(p
->right);
  delete p;

}

 

//test.cpp
//test the example

#include 
"wordTree.h"
#include 
<iostream>
#include 
<string>
int main()
{
 wordTree wt;
 std::string str;
 
while (std::cin>>str)
 
{
   wt.addWord(str.c_str());
   wt.printTree();
 }


 

}

       

posted on 2007-05-17 13:17 丑石 閱讀(249) 評論(0)  編輯 收藏 引用


只有注冊用戶登錄后才能發(fā)表評論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


My Links

Blog Stats

News

常用鏈接

留言簿(1)

隨筆分類(13)

隨筆檔案(17)

文章檔案(1)

相冊

收藏夾(1)

Friends' blog

useful sites

搜索

積分與排名

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美日韩午夜| 亚洲欧美日本国产有色| 亚洲神马久久| 亚洲精品国产精品国产自| 亚洲一区亚洲二区| 亚洲视频狠狠| 欧美国产综合一区二区| 久久综合网hezyo| 国产欧美一区二区精品仙草咪| 最新高清无码专区| 樱桃视频在线观看一区| 亚洲欧美在线观看| 欧美一区二区三区精品| 欧美另类高清视频在线| 欧美黄色一级视频| 亚洲第一页在线| 久久国产精品99精品国产| 欧美一区二区免费| 国产欧美日韩中文字幕在线| 99天天综合性| 夜夜嗨一区二区| 欧美日韩国产成人在线观看| 亚洲国产午夜| 亚洲美女电影在线| 欧美精品一区二区在线播放| 亚洲电影免费观看高清完整版在线| 激情久久久久久久| 久久精品国产99精品国产亚洲性色| 久久riav二区三区| 国产综合色一区二区三区 | 亚洲全黄一级网站| 午夜一区二区三视频在线观看| 欧美激情91| 欧美三级免费| 亚洲在线中文字幕| 欧美一区二区免费| 黑人巨大精品欧美一区二区| 久久久久久久久蜜桃| 欧美国产日韩一区| 亚洲美洲欧洲综合国产一区| 欧美久久久久免费| 一区二区三区日韩在线观看| 欧美一区影院| 在线欧美影院| 欧美日韩伦理在线| 亚洲欧美国产日韩天堂区| 久久久久91| 亚洲黄网站在线观看| 欧美视频日韩视频在线观看| 亚洲专区在线| 免费国产自线拍一欧美视频| 亚洲精品在线免费观看视频| 欧美色图天堂网| 欧美一区二区三区在线播放| 亚洲第一天堂无码专区| 亚洲欧美日韩国产成人| 在线精品视频一区二区| 欧美日韩免费一区| 欧美亚洲一级| 亚洲精品你懂的| 亚洲欧美日韩精品久久亚洲区| 国模精品一区二区三区| 欧美精品入口| 欧美一区二区在线免费观看| 亚洲国产一区二区在线| 久久av二区| 夜夜狂射影院欧美极品| 国产亚洲一区二区精品| 欧美日韩精品免费观看| 久久人91精品久久久久久不卡| 亚洲最快最全在线视频| 蜜桃av噜噜一区| 香蕉久久夜色| 一区二区三区**美女毛片| 好吊日精品视频| 国产精品久久久久国产精品日日| 久久手机免费观看| 亚洲综合不卡| av成人毛片| 亚洲国产精品精华液2区45| 久久国产夜色精品鲁鲁99| 99国产精品99久久久久久| 国产一区二区三区在线播放免费观看| 欧美精品在线观看一区二区| 久久九九久精品国产免费直播 | 亚洲欧洲精品一区二区精品久久久| 亚洲综合欧美| 日韩视频一区二区三区在线播放免费观看 | 国产精品主播| 国产精品高潮呻吟久久av无限| 久久一区二区三区国产精品 | 欧美日韩一区二区三区免费看| 久久久久久久91| 性18欧美另类| 亚洲欧美国产va在线影院| 一区二区三区四区在线| 亚洲激情中文1区| 亚洲成色精品| 欧美激情一区二区久久久| 美女诱惑黄网站一区| 久久婷婷成人综合色| 久久精品女人| 久久av二区| 久久久夜精品| 久久久久久午夜| 久久久xxx| 久久久久国产精品人| 欧美在现视频| 久久久久一区二区三区| 欧美在线观看一区| 久久精品观看| 久久人人精品| 欧美成人免费全部观看天天性色| 免费的成人av| 亚洲国产裸拍裸体视频在线观看乱了中文 | 欧美日韩精品三区| 欧美日韩在线播放三区四区| 欧美美女视频| 欧美天堂在线观看| 国产精品每日更新在线播放网址| 国产精品福利网站| 国产麻豆视频精品| 极品日韩av| 亚洲激情欧美激情| 一区二区三区www| 翔田千里一区二区| 美国十次了思思久久精品导航| 另类av一区二区| 亚洲国产小视频在线观看| 在线午夜精品自拍| 午夜综合激情| 猫咪成人在线观看| 欧美日韩国产一区二区| 国产精品日日摸夜夜添夜夜av| 国产日韩专区在线| 亚洲国产精品久久久久秋霞蜜臀 | 国产美女精品视频| 国产午夜精品在线| 亚洲人成在线播放网站岛国| 亚洲手机在线| 久久一区精品| 99riav1国产精品视频| 欧美一区精品| 欧美日韩国产欧| 国内一区二区三区| 一本久久综合亚洲鲁鲁五月天| 午夜国产精品视频| 亚洲高清自拍| 亚洲欧美国产三级| 另类av一区二区| 国产精品免费在线| 亚洲精品亚洲人成人网| 久久精品中文字幕免费mv| 亚洲精品影视| 久久九九99视频| 国产精品一区二区视频 | 亚洲成色www8888| 亚洲永久免费视频| 欧美激情视频给我| 亚洲欧美久久久久一区二区三区| 免费亚洲网站| 黑人巨大精品欧美一区二区 | 日韩一区二区免费看| 欧美一区二区三区四区夜夜大片| 欧美激情精品久久久久久大尺度 | 欧美日韩国产一级片| 黄色成人小视频| 欧美一级淫片aaaaaaa视频| 91久久国产综合久久| 久久久精品欧美丰满| 国产精品日韩精品| 亚洲特级毛片| 亚洲精品国产品国语在线app | 翔田千里一区二区| 国产精品v欧美精品v日韩精品| 亚洲日本视频| 欧美成人免费全部| 久久精品国产在热久久 | 亚洲大片免费看| 久久久www成人免费毛片麻豆| 亚洲视频电影在线| 国产精品99一区| 亚洲综合电影| 亚洲视频一区二区| 欧美日韩四区| 中文日韩欧美| 日韩一本二本av| 欧美日韩国产高清视频| 日韩天堂在线观看| 亚洲激情女人| 欧美日韩三区四区| 一区二区三区久久精品| 亚洲日本中文字幕| 欧美人妖另类| 亚洲新中文字幕| 亚洲一区二区欧美| 国产日产欧产精品推荐色| 久久久久国产一区二区三区四区| 欧美在线在线| 亚洲国产日韩欧美在线动漫|