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

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 丑石 閱讀(245) 評論(0)  編輯 收藏 引用

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>
            亚洲一区二区三区在线| 日韩一级免费观看| 久久激情久久| 亚洲成人资源网| 欧美激情精品久久久| 欧美国产视频在线| 亚洲一区二区精品在线| 亚洲一区在线免费| 国产综合视频| 亚洲欧洲一区二区天堂久久 | 欧美激情第一页xxx| 欧美精品导航| 校园激情久久| 久久伊人亚洲| 亚洲视频你懂的| 久久av在线| 亚洲夜间福利| 久久久www成人免费精品| 亚洲伦理自拍| 欧美一区二区三区久久精品茉莉花 | 欧美ab在线视频| 欧美激情亚洲视频| 欧美在线啊v一区| 欧美激情自拍| 老鸭窝91久久精品色噜噜导演| 欧美国产亚洲精品久久久8v| 欧美在线免费一级片| 欧美不卡激情三级在线观看| 欧美一级淫片aaaaaaa视频| 鲁大师影院一区二区三区| 午夜视频在线观看一区| 欧美国产免费| 牛牛影视久久网| 国产欧美日韩综合一区在线播放| 欧美激情1区2区3区| 国产亚洲精品综合一区91| 亚洲精品在线视频观看| 国产在线日韩| 亚洲网友自拍| 一本大道久久a久久综合婷婷| 久久久久久久久久久一区| 欧美一区二区啪啪| 国产精品第十页| 亚洲高清一二三区| 在线观看91精品国产麻豆| 亚洲综合第一| 性伦欧美刺激片在线观看| 欧美激情综合在线| 亚洲国产精品第一区二区| 一区二区在线视频播放| 欧美在线亚洲在线| 欧美在线一级视频| 国产精品一区二区a| 一本一本久久a久久精品牛牛影视| 亚洲国产日韩欧美在线图片| 久久久91精品国产一区二区三区| 欧美一级午夜免费电影| 国产精品香蕉在线观看| 亚洲视频碰碰| 欧美在线观看一区二区三区| 国产精品久久久久久久久久三级| a91a精品视频在线观看| 在线综合欧美| 国产精品久久一区二区三区| 亚洲视频视频在线| 欧美伊人久久久久久久久影院 | 伊人久久综合97精品| 久久精品水蜜桃av综合天堂| 久久久精品2019中文字幕神马| 国产亚洲激情在线| 久久精品国产第一区二区三区最新章节 | 欧美国产日韩xxxxx| 亚洲激情欧美激情| 欧美精品在线一区| 一区二区激情| 久久九九国产精品| 亚洲国产一区视频| 欧美日韩一二三四五区| 亚洲免费视频成人| 久久久久五月天| 最新国产成人av网站网址麻豆| 欧美激情久久久| 亚洲午夜影视影院在线观看| 久久激情五月丁香伊人| 亚洲电影观看| 欧美日韩情趣电影| 欧美在线观看视频一区二区三区| 免费看成人av| 亚洲一区二区在| 黄色成人在线免费| 欧美欧美午夜aⅴ在线观看| 亚洲一区高清| 免费在线成人| 亚洲欧美999| 在线看欧美视频| 国产精品美女黄网| 乱中年女人伦av一区二区| 亚洲神马久久| 欧美成人精品福利| 欧美在线1区| 日韩亚洲视频在线| 国产一区自拍视频| 欧美四级剧情无删版影片| 久久久久国色av免费看影院| 亚洲精品国产系列| 美日韩精品免费观看视频| 亚洲自拍电影| 亚洲精品黄网在线观看| 国产欧美一区二区三区久久人妖| 欧美sm视频| 久久精品免费看| 亚洲视频电影图片偷拍一区| 欧美国产日韩免费| 久久人人97超碰国产公开结果| 宅男噜噜噜66一区二区 | 欧美日韩亚洲综合在线| 久久综合九色九九| 欧美一区在线视频| 亚洲永久免费观看| 亚洲精品视频啊美女在线直播| 乱中年女人伦av一区二区| 欧美一区二区精美| 亚洲欧美日韩精品一区二区| 日韩香蕉视频| 亚洲人www| 亚洲国产综合91精品麻豆| 国产在线高清精品| 国产一区在线视频| 国产一区二区剧情av在线| 国产精品久久久久9999吃药| 欧美日韩另类在线| 欧美激情一级片一区二区| 可以看av的网站久久看| 久久九九全国免费精品观看| 亚洲欧美视频在线观看| 亚洲综合首页| 西西人体一区二区| 欧美一区免费| 欧美一区国产在线| 欧美一区影院| 久久久久久网站| 久久综合色88| 欧美**人妖| 欧美日本不卡视频| 欧美日韩综合| 国产精品中文在线| 国产精品揄拍500视频| 国产日产欧美一区| 国产一区二区三区四区在线观看| 国产女主播一区| 黄色成人av| 91久久香蕉国产日韩欧美9色| 亚洲国产毛片完整版| 亚洲免费成人av| 亚洲欧美大片| 久久久久99| 欧美国产日韩二区| 日韩视频一区二区三区在线播放| 亚洲午夜在线观看| 久久经典综合| 欧美极品一区二区三区| 国产精品qvod| 一区二区在线免费观看| 日韩视频三区| 欧美一区二区三区四区夜夜大片| 久久久福利视频| 亚洲国产高清高潮精品美女| 一区二区日韩伦理片| 久久超碰97人人做人人爱| 免费不卡亚洲欧美| 国产精品久久激情| 亚洲电影激情视频网站| 一区二区三区四区在线| 久久久精品动漫| 亚洲欧洲视频在线| 亚洲综合日韩中文字幕v在线| 久久久久成人网| 欧美午夜精品| 亚洲国内精品在线| 欧美一区二视频| 亚洲黄色在线看| 久久激情综合网| 国产精品成人aaaaa网站| 精品成人一区二区三区| 国产精品99久久久久久人| 久久久噜噜噜久噜久久| 99国产精品久久久久久久| 久久久久久自在自线| 国产精品国产三级国产aⅴ入口| 精久久久久久| 欧美一区二区三区播放老司机| 亚洲大片一区二区三区| 欧美在线影院在线视频| 欧美深夜福利| 亚洲精选国产| 欧美国产高潮xxxx1819| 欧美在线观看视频| 国产美女诱惑一区二区| 亚洲视频在线一区观看| 亚洲黄色在线视频|