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

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>
            亚洲在线一区| 一区二区三区日韩精品| 久久精品国产99精品国产亚洲性色 | 宅男精品视频| 在线视频一区二区| 国产伦精品一区二区三| 久久久久久久久久久成人| 久久久国产成人精品| 亚洲日本成人女熟在线观看| 亚洲欧洲一区二区三区久久| 欧美精品一区二区三区很污很色的 | 亚洲欧美日产图| 一区二区亚洲精品| 亚洲福利精品| 国产麻豆日韩| 亚洲国产专区校园欧美| 欧美手机在线| 免费欧美日韩国产三级电影| 欧美激情无毛| 久久蜜桃资源一区二区老牛 | 亚洲欧美日韩国产另类专区| 伊人婷婷久久| 在线综合+亚洲+欧美中文字幕| 国产偷国产偷精品高清尤物| 亚洲高清一区二| 国产日韩欧美一区二区三区在线观看| 噜噜噜久久亚洲精品国产品小说| 欧美精品激情在线| 久久一区免费| 国产精品亚洲激情| 亚洲国产精品第一区二区| 国产毛片一区| 日韩视频二区| 在线观看日韩精品| 亚洲一区在线免费| 一本色道久久综合亚洲精品不| 欧美在线免费一级片| 亚洲香蕉伊综合在人在线视看| 久久视频免费观看| 久久精品成人一区二区三区| 欧美日本一道本在线视频| 麻豆91精品91久久久的内涵| 欧美亚州一区二区三区| 亚洲电影一级黄| 伊人久久婷婷色综合98网| 亚洲男人影院| 亚洲自拍偷拍福利| 欧美色中文字幕| 亚洲人成亚洲人成在线观看图片| 狠狠色狠狠色综合日日tαg | 亚洲自拍偷拍麻豆| 亚洲一区二区在线播放| 欧美激情一区二区| 欧美激情日韩| 亚洲激情一区二区三区| 久久久久久久综合| 鲁大师成人一区二区三区| 国产亚洲a∨片在线观看| 亚洲欧美日韩国产| 久久国产精彩视频| 国产一区二区久久| 欧美一区二区私人影院日本| 欧美一区二区三区久久精品茉莉花 | 国产精品理论片在线观看| 99国产精品99久久久久久粉嫩| 一本色道久久加勒比88综合| 欧美日本不卡高清| 日韩视频久久| 亚洲欧美视频一区二区三区| 国产精品美女久久久久久2018 | 亚洲综合国产| 欧美一区二区视频在线观看2020| 国产精品视频观看| 欧美在线观看www| 欧美国产欧美亚洲国产日韩mv天天看完整 | 国产精品一卡二| 欧美在线亚洲综合一区| 美国十次成人| 99日韩精品| 国产精品香蕉在线观看| 欧美一级一区| 亚洲国产精品久久久久婷婷884 | 免费成人高清在线视频| 亚洲日本无吗高清不卡| 欧美日韩一区二区高清| 亚洲欧美综合v| 欧美激情bt| 亚洲欧美另类在线观看| 国产一区二区欧美| 欧美国产日韩免费| 亚洲综合视频一区| 免费观看在线综合| 亚洲视频精品在线| 国产在线精品二区| 欧美精品福利| 欧美一区二区三区的| 亚洲大胆美女视频| 羞羞答答国产精品www一本| 激情婷婷久久| 国产精品久久久久aaaa九色| 久久精品国产999大香线蕉| 亚洲人体偷拍| 玖玖国产精品视频| 国产精品99久久久久久久久| 国内精品久久久久久久97牛牛| 欧美黄色影院| 久久激情五月激情| 一本久久综合亚洲鲁鲁五月天| 久久综合婷婷| 欧美一区二区成人| 夜夜嗨av色综合久久久综合网| 国产午夜亚洲精品羞羞网站 | 浪潮色综合久久天堂| 亚洲午夜在线观看视频在线| 欧美激情一区二区三区四区| 欧美一区二区三区日韩| 一区二区91| 亚洲精品一区二区三| 国内在线观看一区二区三区| 欧美日韩一视频区二区| 女同一区二区| 久久久夜夜夜| 久久精视频免费在线久久完整在线看| 999亚洲国产精| 亚洲欧洲日本专区| 欧美黄色成人网| 麻豆精品精品国产自在97香蕉| 亚洲欧美中文另类| 亚洲一级黄色片| 99这里有精品| av不卡在线| aa级大片欧美三级| 亚洲理论在线| 亚洲美女免费精品视频在线观看| 亚洲第一精品影视| 1000精品久久久久久久久 | 欧美岛国激情| 欧美高清在线| 欧美成人网在线| 欧美高清视频一区二区| 欧美sm重口味系列视频在线观看| 久久视频在线看| 免费短视频成人日韩| 久久只有精品| 欧美激情1区2区3区| 欧美精品成人在线| 欧美日韩一区二区三区视频| 欧美久久电影| 国产精品第2页| 国产精品视频久久| 国产伦理一区| 影音先锋亚洲一区| 亚洲日本中文字幕区| 亚洲免费精品| 午夜精品免费视频| 久久久久国产精品www| 久久综合五月天婷婷伊人| 你懂的一区二区| 亚洲国产日韩美| 99视频精品免费观看| 亚洲欧美高清| 久久午夜电影网| 欧美日韩在线影院| 国产日韩一区在线| 亚洲国产国产亚洲一二三| 亚洲免费高清视频| 欧美一区二区在线看| 免费视频亚洲| 一区二区三区国产在线| 欧美一区二区| 欧美激情一区二区久久久| 国产精品美女久久久久aⅴ国产馆| 国产一区二区观看| 日韩亚洲视频在线| 欧美一激情一区二区三区| 免费一级欧美片在线播放| 亚洲三级视频| 久久精品国产亚洲一区二区| 欧美大片在线影院| 国内成人精品一区| 日韩午夜一区| 久久亚洲精品伦理| 一本色道久久综合亚洲精品高清| 午夜精品久久久久久99热软件| 欧美va天堂va视频va在线| 国产精品久线观看视频| 亚洲日本电影| 久久久久久久国产| 宅男噜噜噜66国产日韩在线观看| 卡一卡二国产精品| 国产一区亚洲| 午夜精品久久久久久久99水蜜桃 | 久久久久久久成人| 国产精品久久久久aaaa樱花| 亚洲欧洲日产国产网站| 久久久国产精品亚洲一区 | 欧美日韩免费一区二区三区视频 | 国产精品欧美日韩久久| 亚洲伦理中文字幕| 欧美xart系列高清|