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

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


只有注冊用戶登錄后才能發(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>
            久久久久久久综合日本| 久久综合伊人| 国产精品久久午夜夜伦鲁鲁| 亚洲午夜av| 亚洲欧美卡通另类91av | 免费看亚洲片| 久久精品在线| 亚洲欧洲一区二区在线观看| 亚洲日本中文字幕| 欧美日产国产成人免费图片| 亚洲综合精品四区| 午夜国产不卡在线观看视频| 一区二区视频欧美| 亚洲国产清纯| 国产精品福利网站| 久久久久久精| 欧美成人精品激情在线观看| 国产精品99久久久久久www| 亚洲一区二区久久| 伊人一区二区三区久久精品| 亚洲日本aⅴ片在线观看香蕉| 欧美午夜欧美| 玖玖精品视频| 国产精品久久久久aaaa樱花| 美女精品在线观看| 欧美视频免费看| 久久这里只有| 国产精品国产精品| 免费看精品久久片| 欧美网站在线观看| 麻豆精品视频在线观看视频| 欧美日韩小视频| 蜜臀久久99精品久久久久久9| 欧美色欧美亚洲另类七区| 久久人人爽人人| 欧美午夜精品久久久久久浪潮| 久久影视精品| 国产精品免费福利| 亚洲啪啪91| 一区二区三区在线观看视频| 亚洲视频每日更新| 最近中文字幕日韩精品| 欧美一区二区播放| 亚洲免费在线看| 欧美成人情趣视频| 久久一二三四| 国产欧美一区二区三区沐欲| 99精品国产在热久久下载| 在线播放精品| 久久精品盗摄| 欧美一区二区久久久| 欧美日韩一区二区在线| 亚洲国产精品成人综合| 亚洲福利电影| 久久漫画官网| 欧美~级网站不卡| 国产一区观看| 欧美专区在线观看一区| 欧美亚洲日本网站| 国产精品久久久久久久久久三级 | 亚洲欧美日韩一区二区三区在线观看| 麻豆成人精品| 欧美国产精品人人做人人爱| 好看不卡的中文字幕| 欧美在线电影| 久久―日本道色综合久久| 国产日韩欧美在线播放| 午夜精品理论片| 久久成人免费电影| 国产欧美高清| 新狼窝色av性久久久久久| 欧美在线视频免费观看| 国产精品视频不卡| 亚洲一区二区三区四区中文| 香蕉久久精品日日躁夜夜躁| 国产精品一区二区三区四区| 亚洲欧美日韩成人高清在线一区| 亚洲欧美一区二区三区在线| 国产日韩欧美精品综合| 欧美在线1区| 欧美高清在线视频| 夜夜精品视频| 国产精品免费在线| 欧美在线国产| 欧美国产精品日韩| 一区二区三区 在线观看视频| 欧美午夜精品理论片a级按摩 | 亚洲大黄网站| 妖精成人www高清在线观看| 欧美日韩一区在线| 亚洲专区一区| 欧美成人国产一区二区| 99国产精品久久| 国产精品系列在线播放| 久久人人九九| 亚洲九九爱视频| 久久精品中文| 日韩小视频在线观看| 国产日本欧美一区二区| 猫咪成人在线观看| 一本到12不卡视频在线dvd| 久久精品99国产精品| 亚洲国产三级网| 国产精品毛片a∨一区二区三区|国 | 亚洲一区二区免费看| 国产乱码精品一区二区三区五月婷| 久久精品99国产精品| 日韩一二三在线视频播| 久久久久国内| 亚洲一区二区高清视频| 一区在线观看| 国产精品美女午夜av| 欧美高清不卡| 久久精品123| 亚洲网站在线| 亚洲日本中文字幕| 美女精品视频一区| 欧美一区二视频在线免费观看| 亚洲精品久久久一区二区三区| 国产欧美日韩亚洲精品| 欧美精品1区2区| 久久夜色精品国产亚洲aⅴ| 亚洲一区二区av电影| 亚洲精品乱码久久久久久日本蜜臀| 久久久福利视频| 欧美一进一出视频| 一本一本久久a久久精品综合麻豆 一本一本久久a久久精品牛牛影视 | 欧美在线观看一区二区| 99国产精品私拍| 亚洲国产99| 极品尤物av久久免费看| 国产精品一区二区久久精品| 欧美日韩国产成人在线免费| 免费亚洲电影| 久久阴道视频| 另类尿喷潮videofree| 久久精品国产在热久久| 亚洲女人天堂成人av在线| 一区二区欧美亚洲| 日韩视频一区二区三区在线播放| 亚洲国产精品欧美一二99| 亚洲第一天堂无码专区| 欧美h视频在线| 欧美二区在线| 欧美激情亚洲另类| 亚洲第一在线| 亚洲激情欧美激情| 亚洲精品小视频| 亚洲精选视频在线| 一区二区三区黄色| 亚洲无玛一区| 欧美一区二区在线播放| 欧美专区18| 猛干欧美女孩| 欧美精品一区二区高清在线观看| 欧美激情欧美激情在线五月| 欧美日韩不卡在线| 欧美日精品一区视频| 国产精品久久久久久久久久ktv| 国产精品蜜臀在线观看| 国产亚洲高清视频| 激情综合中文娱乐网| 亚洲国产精品精华液2区45| 亚洲靠逼com| 中文有码久久| 久久久久高清| 亚洲国产欧美精品| 一区二区欧美精品| 欧美一区二区三区精品| 裸体歌舞表演一区二区| 欧美另类高清视频在线| 国产精品欧美日韩一区| 国内精品久久久久影院薰衣草| 亚洲二区免费| 亚洲女女女同性video| 久久人人九九| 亚洲国产综合视频在线观看| 亚洲午夜精品视频| 久久综合给合| 欧美午夜片在线免费观看| 黄色成人av在线| 一区二区三区日韩精品| 久久久女女女女999久久| 亚洲国产午夜| 亚洲永久在线| 欧美久久婷婷综合色| 国产欧美一区二区精品婷婷| 亚洲精品欧美日韩| 久久精品国产亚洲a| 亚洲精品美女久久久久| 久久成人久久爱| 欧美亚洲第一区| 亚洲国产高清在线观看视频| 欧美一区国产一区| 亚洲精品乱码久久久久久按摩观| 久久久91精品国产| 国产精品久久二区二区| 99re热这里只有精品免费视频| 久久久久成人精品| 在线中文字幕一区|