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

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 丑石 閱讀(248) 評論(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>
            久久超碰97人人做人人爱| 久久久久久婷| 欧美特黄一级| 亚洲一区二区在线免费观看| 亚洲激情专区| 欧美日韩久久久久久| 亚洲午夜久久久| 中日韩美女免费视频网址在线观看 | 国产一区二区久久| 久久一区二区三区四区| 久久亚洲综合网| 亚洲精品免费看| 99热免费精品在线观看| 国产精品毛片在线| 久久综合中文| 欧美激情一区二区三区高清视频| 99热免费精品| 亚洲在线视频观看| 亚洲第一区在线观看| 最新中文字幕一区二区三区| 欧美色精品在线视频| 久久www成人_看片免费不卡| 久久国产精品第一页| 亚洲欧洲日产国产网站| 在线视频精品| 亚洲高清视频一区二区| 宅男66日本亚洲欧美视频| 国产视频精品免费播放| 亚洲高清网站| 国产欧美精品xxxx另类| 亚洲国产精品尤物yw在线观看| 国产精品海角社区在线观看| 久久一日本道色综合久久| 欧美人与性禽动交情品| 久久se精品一区精品二区| 欧美搞黄网站| 麻豆av一区二区三区久久| 欧美日韩亚洲视频| 欧美电影打屁股sp| 国产噜噜噜噜噜久久久久久久久| 亚洲二区免费| 激情久久综合| 一区二区三区高清在线| 亚洲黄色在线视频| 欧美在线影院| 午夜精品视频在线观看| 欧美大片免费看| 麻豆成人精品| 国内免费精品永久在线视频| 亚洲久久一区| 亚洲欧洲三级| 久久精品在线免费观看| 欧美一区二区三区在线看| 欧美精品精品一区| 亚洲高清久久| 亚洲第一区在线观看| 欧美在线视频免费播放| 亚洲欧美日韩另类| 欧美午夜激情小视频| 亚洲国产天堂久久综合网| 国产一区二区无遮挡| 亚洲国产精品久久久久秋霞不卡| 亚洲一二三四久久| 亚洲国产欧美一区二区三区久久| 亚洲视频狠狠| 午夜一级久久| 国产精品二区在线| 一区二区欧美亚洲| 亚洲一区二区三区激情| 欧美日韩在线视频一区| 99热在这里有精品免费| 在线亚洲伦理| 欧美午夜无遮挡| 一区二区不卡在线视频 午夜欧美不卡在 | 国产精品免费一区二区三区在线观看| 亚洲日本在线观看| 一本色道久久综合亚洲91| 欧美黄在线观看| 亚洲精品护士| 亚洲一区一卡| 国产日韩视频一区二区三区| 欧美在线观看一二区| 久久婷婷影院| 亚洲欧洲在线免费| 欧美日韩1区2区| 亚洲无吗在线| 久久久免费精品视频| 激情欧美一区二区三区| 老司机成人网| 亚洲日本视频| 欧美一级二级三级蜜桃| 国内精品嫩模av私拍在线观看 | 亚洲欧美另类在线观看| 久久国产色av| 亚洲国产精品国自产拍av秋霞| 久久字幕精品一区| 亚洲国产成人在线| 亚洲一区一卡| 影音先锋另类| 欧美日韩免费观看一区=区三区| 日韩视频免费看| 久久成人国产| 亚洲激情社区| 国产精品青草久久久久福利99| 午夜一级在线看亚洲| 免费看亚洲片| 亚洲免费综合| 亚洲福利视频一区| 欧美日韩一区二区免费视频| 欧美一区二视频| 亚洲国产精品嫩草影院| 午夜精品福利一区二区蜜股av| 精久久久久久| 国产精品久久久久一区二区| 久久久人成影片一区二区三区| 99热这里只有精品8| 久久人人爽国产| 亚洲在线中文字幕| 最近中文字幕日韩精品| 国产欧美一区二区精品婷婷| 欧美成人精品在线观看| 性久久久久久久久| 一区二区日韩| 亚洲欧洲精品天堂一级| 老鸭窝亚洲一区二区三区| 亚洲免费中文| 亚洲免费黄色| 91久久精品日日躁夜夜躁欧美 | 国产精品久久波多野结衣| 久久中文在线| 久久国产手机看片| 亚洲免费在线观看| 99re热精品| 91久久久久| 亚洲国产精品久久91精品| 久久免费偷拍视频| 久久国产加勒比精品无码| 这里只有视频精品| 一区二区欧美激情| 99热精品在线| 艳妇臀荡乳欲伦亚洲一区| 亚洲国产精品成人综合| 国产真实乱子伦精品视频| 国产精品欧美日韩一区| 国产精品对白刺激久久久| 欧美日本国产精品| 欧美片网站免费| 欧美精品一区二| 欧美乱人伦中文字幕在线| 久久影院午夜片一区| 久久嫩草精品久久久精品一| 久久久99国产精品免费| 久久大综合网| 久久久免费精品视频| 久久亚洲捆绑美女| 美女视频黄免费的久久| 欧美成人精品1314www| 欧美精品乱码久久久久久按摩| 欧美电影电视剧在线观看| 欧美xx视频| 欧美日韩免费视频| 国产精品免费电影| 国产乱码精品一区二区三| 国产一区二区久久精品| 一区二区三区在线视频免费观看| 在线观看欧美亚洲| 91久久精品久久国产性色也91 | 欧美午夜影院| 国产精品午夜春色av| 国产亚洲a∨片在线观看| 黑人极品videos精品欧美裸| 亚洲国产精品激情在线观看| 99日韩精品| 欧美在线|欧美| 麻豆成人小视频| 亚洲精品日韩激情在线电影| 亚洲综合国产精品| 久久久噜噜噜久久中文字免| 欧美另类99xxxxx| 国产精品视频在线观看| 一区二区三区在线看| 一本大道久久a久久精品综合| 亚洲欧美色一区| 开心色5月久久精品| 亚洲人成网在线播放| 午夜精品一区二区在线观看 | 亚洲欧美精品在线| 美女在线一区二区| 国产精品一区二区欧美| 亚洲黄一区二区| 亚洲欧美日韩国产| 欧美激情精品久久久久久久变态 | 蜜臀久久久99精品久久久久久| 亚洲区中文字幕| 欧美在线免费观看视频| 欧美人与禽猛交乱配视频| 精品成人国产| 性欧美办公室18xxxxhd| 亚洲精品日韩在线| 久久久噜噜噜久久|