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

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>
            午夜在线播放视频欧美| 999在线观看精品免费不卡网站| 亚洲精选91| 亚洲国产精品一区制服丝袜| 久久综合五月天婷婷伊人| 在线成人激情黄色| 亚洲精品乱码久久久久久蜜桃91| 欧美凹凸一区二区三区视频| 亚洲最新合集| 国产精品99久久久久久人| 国产午夜精品视频免费不卡69堂| 久久久久女教师免费一区| 久久最新视频| 一区二区三区成人 | 亚洲成人自拍视频| 免费欧美电影| 欧美国产精品日韩| 亚洲欧美清纯在线制服| 欧美一区永久视频免费观看| 亚洲福利视频网站| 国产精品99久久99久久久二8 | 久久se精品一区二区| 国产欧美日韩在线观看| 亚洲欧美日韩一区二区| 久久久久高清| 欧美 亚欧 日韩视频在线| 欧美一区2区三区4区公司二百| 久久国产精品亚洲va麻豆| 在线视频亚洲一区| 欧美1区免费| 欧美成人一区二区三区| 亚洲第一网站| 久久亚洲欧美国产精品乐播| 久久精品在线播放| 亚洲国产99精品国自产| 久久九九电影| 久久久久一区二区| 亚洲一区二区欧美| 久久久久久一区二区| 亚洲欧美制服另类日韩| 欧美插天视频在线播放| 久久99伊人| 欧美精品在线观看播放| 欧美www在线| 国产原创一区二区| 一区二区高清| 亚洲精品久久久蜜桃| 日韩午夜免费视频| 国产精品久久97| 国语自产精品视频在线看| 精品99一区二区| 国产精品国产成人国产三级| 久久国产精彩视频| 欧美激情精品| 亚洲一区二区在线免费观看视频| 国产一区二区三区黄视频| 欧美18av| 国产精品久久久久久久久久久久| 黄色一区三区| 亚洲少妇中出一区| 亚洲精品一区二区在线| 久久午夜电影| 欧美99久久| 亚洲国产精品成人| 久热国产精品视频| 亚洲国产一区在线观看| 亚洲人妖在线| 欧美激情久久久| 日韩视频欧美视频| 亚洲综合色在线| 国产精品午夜国产小视频| 午夜国产精品影院在线观看| 欧美综合国产精品久久丁香| 国产一区视频在线看| 欧美一区三区三区高中清蜜桃 | 欧美搞黄网站| 亚洲第一精品电影| 日韩亚洲欧美一区二区三区| 欧美成人高清视频| 最新精品在线| 亚洲欧美中文日韩在线| 韩国精品久久久999| 鲁大师成人一区二区三区| 亚洲国产精品一区二区三区| 亚洲一区二区动漫| 国产精品视频网站| 久久成人免费视频| 亚洲国产欧美精品| 亚洲综合第一页| 激情视频一区二区| 欧美日韩国产精品一区| 亚洲免费在线精品一区| 久热精品视频在线免费观看 | 国模精品娜娜一二三区| 美女精品网站| 亚洲制服少妇| 亚洲第一黄色| 久久国产夜色精品鲁鲁99| 亚洲国产精品久久91精品| 欧美视频在线观看视频极品| 欧美综合二区| 99re6热只有精品免费观看| 久久青青草原一区二区| 99精品国产一区二区青青牛奶| 国产欧美精品一区| 欧美国产高潮xxxx1819| 欧美伊久线香蕉线新在线| 亚洲人成在线播放网站岛国| 久久婷婷影院| 亚洲永久视频| 91久久精品国产91久久| 国产日韩av在线播放| 欧美久久综合| 久久资源在线| 午夜精品久久久久| 日韩一级黄色片| 亚洲第一精品电影| 美女精品在线| 久久国产天堂福利天堂| 亚洲欧美另类在线| 99视频在线精品国自产拍免费观看 | 最新精品在线| 蜜乳av另类精品一区二区| 亚洲欧美国产视频| 亚洲图片欧洲图片av| 亚洲黄色影院| 在线国产亚洲欧美| 激情懂色av一区av二区av| 国产精品系列在线| 欧美丝袜一区二区三区| 欧美日韩1区2区| 欧美成年网站| 欧美xx视频| 欧美高清在线精品一区| 久久久久久伊人| 久久久久久有精品国产| 欧美亚洲一区在线| 欧美一区二区三区日韩| 午夜精品视频在线观看一区二区| 亚洲色图综合久久| 亚洲午夜视频| 亚洲欧美日韩一区二区三区在线观看| 99成人精品| 99精品99| 亚洲欧美精品| 久久激情五月丁香伊人| 久久久久综合网| 开元免费观看欧美电视剧网站| 乱码第一页成人| 欧美激情精品久久久久久久变态| 欧美激情91| 欧美性猛交xxxx乱大交蜜桃| 国产精品扒开腿做爽爽爽软件| 国产精品久久午夜| 国产午夜精品麻豆| 亚洲国产91| 亚洲午夜一区| 欧美与黑人午夜性猛交久久久| 久久九九电影| 欧美激情一区二区三区高清视频| 亚洲人线精品午夜| 一区二区三区视频在线播放| 亚洲女性裸体视频| 久久精品亚洲国产奇米99| 免费久久精品视频| 欧美视频亚洲视频| 国产一区二区欧美| 亚洲精品日韩在线| 羞羞色国产精品| 免费在线观看日韩欧美| 亚洲美女精品久久| 欧美在线免费观看亚洲| 欧美大秀在线观看| 国产欧美 在线欧美| 亚洲精选成人| 久久久久亚洲综合| 亚洲人成77777在线观看网| 亚洲女同同性videoxma| 免费h精品视频在线播放| 国产精品久久久99| 亚洲国产天堂久久综合网| 亚洲欧美日本国产专区一区| 免费人成精品欧美精品| 亚洲视频综合在线| 女人香蕉久久**毛片精品| 国产乱码精品一区二区三区五月婷| 亚洲国产精品123| 久久成人18免费网站| 亚洲免费观看| 能在线观看的日韩av| 国产亚洲在线| 午夜久久影院| 亚洲精品影视在线观看| 久久久之久亚州精品露出| 国产精品欧美风情| 正在播放欧美一区| 亚洲国产精品久久久久秋霞蜜臀| 性感少妇一区| 国产精品自在在线| 亚洲天堂偷拍|