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

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)  編輯 收藏 引用


只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   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>
            亚洲欧美一区二区三区久久| 99国产精品久久久| 欧美一区二区福利在线| 一区二区国产日产| 欧美视频不卡中文| 亚洲欧美第一页| 亚洲专区在线| 国产一区二区日韩精品欧美精品| 久久er精品视频| 久久综合给合久久狠狠色| 亚洲日本中文字幕区| 日韩网站在线| 国产乱子伦一区二区三区国色天香| 欧美影院精品一区| 久久久久一区二区| 一本色道久久精品| 亚洲欧美日韩成人| 亚洲高清不卡在线| 亚洲人午夜精品| 国产精品你懂的| 久久一区二区三区国产精品| 免费国产一区二区| 性色av一区二区三区| 久久久久亚洲综合| 亚洲小说春色综合另类电影| 欧美综合77777色婷婷| 亚洲精品在线一区二区| 亚洲午夜日本在线观看| 狠狠综合久久av一区二区老牛| 欧美黑人国产人伦爽爽爽| 国产精品久久久久久久久久久久久 | 亚洲欧美日韩久久精品| 久久国产日本精品| 一区二区三区视频在线| 欧美在线播放| 亚洲一级二级在线| 老司机精品视频网站| 午夜精品在线| 欧美连裤袜在线视频| 久久免费视频观看| 国产精品二区二区三区| 欧美成人免费视频| 国产日韩欧美高清| 一本色道久久综合精品竹菊| 亚洲高清久久久| 香蕉久久一区二区不卡无毒影院 | 久久精品2019中文字幕| 欧美国产在线电影| 久久这里只有精品视频首页| 国产精品久久久久秋霞鲁丝| 亚洲高清在线| 在线播放中文字幕一区| 午夜精品久久久久久久久久久久| 亚洲免费激情| 欧美黄色网络| 欧美福利一区二区| 影音先锋中文字幕一区二区| 香港成人在线视频| 欧美一区二区啪啪| 国产精品久久久久一区| 宅男噜噜噜66一区二区| 一区二区成人精品| 欧美日韩国产成人在线观看| 欧美激情亚洲| 亚洲精品女人| 欧美激情麻豆| 亚洲激情中文1区| 91久久久久久久久久久久久| 久久视频免费观看| 欧美1区免费| 亚洲国产精品一区二区www| 久久一区二区三区超碰国产精品| 久久精品人人做人人爽电影蜜月| 国产日韩久久| 久久精品日韩欧美| 嫩草国产精品入口| 亚洲成在线观看| 欧美成人精品一区二区三区| 亚洲国产日韩欧美在线99| 99国产精品久久久久久久久久 | 亚洲性感激情| 久久se精品一区精品二区| 国产主播一区二区三区四区| 久久国产精品99国产精| 欧美成人久久| 日韩午夜av| 国产精品videosex极品| 欧美一级视频免费在线观看| 久久久不卡网国产精品一区| 在线免费日韩片| 欧美黄色一区二区| 亚洲一区视频在线| 麻豆成人在线| 亚洲一二三区在线| 国产亚洲欧美色| 欧美成人性生活| 亚洲一区二区黄| 六月天综合网| 中日韩男男gay无套| 国产偷久久久精品专区| 男人的天堂亚洲| 亚洲午夜激情网站| 嫩草国产精品入口| 亚洲一区在线免费| 影音先锋欧美精品| 国产精品久久91| 久久综合网hezyo| 中文欧美在线视频| 欧美成人精品三级在线观看| 亚洲一区二区3| 在线观看欧美黄色| 欧美午夜精品久久久久久超碰| 性久久久久久久久| 亚洲精选一区二区| 美女视频一区免费观看| 午夜精品网站| 亚洲精品国产精品久久清纯直播| 国产农村妇女精品一二区| 欧美精品一区在线播放| 久久成人一区二区| 一本久道久久久| 亚洲高清不卡av| 久久网站热最新地址| 亚洲视频碰碰| 亚洲精品一二三区| 136国产福利精品导航| 国产精品国产精品国产专区不蜜| 免费亚洲婷婷| 久久精品日韩| 欧美一区二区视频在线| 亚洲图片欧美日产| 亚洲精品一区中文| 亚洲国产日韩美| 欧美国产日韩精品| 美腿丝袜亚洲色图| 久久久噜久噜久久综合| 欧美亚洲三级| 亚洲欧美精品伊人久久| 亚洲无人区一区| 这里是久久伊人| 亚洲最新色图| 99国产精品视频免费观看一公开| 亚洲高清不卡av| 亚洲国产日韩欧美在线动漫| 在线观看成人小视频| 依依成人综合视频| **网站欧美大片在线观看| 国内成人精品一区| 黑人巨大精品欧美一区二区| 韩国精品在线观看| 国产一区二区三区在线观看免费| 国产精品视频一区二区三区| 国产精品日韩精品欧美精品| 国产精品女人久久久久久| 国产目拍亚洲精品99久久精品| 国产精品视频免费观看| 国产日韩亚洲欧美| 国产视频精品va久久久久久| 国产综合久久久久久| 国内在线观看一区二区三区| 尤妮丝一区二区裸体视频| 最新亚洲一区| 一区二区三区国产精华| 欧美亚洲网站| 美女脱光内衣内裤视频久久网站| 欧美sm视频| 99pao成人国产永久免费视频| 亚洲午夜精品一区二区| 欧美一区综合| 欧美激情一区在线| 国产欧美日韩精品a在线观看| 国外视频精品毛片| 亚洲美女精品成人在线视频| 亚洲在线免费观看| 久久视频在线免费观看| 欧美激情aaaa| 亚洲在线免费| 蜜乳av另类精品一区二区| 欧美理论在线| 国产一区二区中文| 日韩视频不卡| 久久久欧美精品sm网站| 91久久在线播放| 午夜久久影院| 欧美激情中文字幕在线| 国产毛片一区二区| 99亚洲一区二区| 久久久精彩视频| 亚洲免费观看高清在线观看| 欧美一区二区高清在线观看| 欧美激情bt| 一区免费观看| 欧美亚洲视频在线观看| 91久久精品日日躁夜夜躁欧美| 亚洲欧美日韩国产成人精品影院| 免费久久精品视频| 国产专区综合网| 香蕉成人伊视频在线观看| 亚洲人成亚洲人成在线观看| 久久精品论坛|