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

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>
            国产精品高潮呻吟久久av黑人| 国产精品一级久久久| 国内精品伊人久久久久av一坑| 一区二区三区四区五区在线| 最新国产の精品合集bt伙计| 免费在线成人av| 最新亚洲激情| 一区二区日韩| 国产视频观看一区| 久热精品视频| 欧美成人精品高清在线播放| 日韩视频第一页| 夜夜嗨av一区二区三区网站四季av| 欧美日本一道本| 先锋影音久久久| 久久人体大胆视频| 艳女tv在线观看国产一区| 日韩视频永久免费| 国产亚洲一区二区三区在线播放 | 欧美精品成人| 亚洲一区二区三区在线视频| 亚洲综合欧美日韩| 伊人久久大香线| 亚洲精品乱码久久久久| 国产精品大片wwwwww| 久久国产精品久久久久久电车| 久久久久综合一区二区三区| av成人手机在线| 欧美一区二区观看视频| 亚洲日韩第九十九页| 亚洲天堂男人| 亚洲精品在线二区| 欧美综合77777色婷婷| 一本色道久久加勒比88综合 | 久久精品国产视频| 欧美国产成人精品| 久久riav二区三区| 欧美日韩成人综合| 久久综合九九| 国产精品白丝黑袜喷水久久久| 久久亚洲精品一区| 国产精品国产三级国产专播品爱网| 久久久久女教师免费一区| 欧美日韩成人网| 亚洲第一精品久久忘忧草社区| 国产精品男人爽免费视频1| 老牛国产精品一区的观看方式| 欧美图区在线视频| 亚洲激情不卡| 亚洲电影欧美电影有声小说| 亚洲伊人伊色伊影伊综合网 | 欧美日韩一区二区高清| 久热精品视频在线免费观看| 国产精品乱码一区二区三区| 亚洲成人资源网| 国精品一区二区三区| 一区二区三区精品视频| 日韩视频精品| 美日韩精品免费观看视频| 久久久久久久久久看片| 国产精品乱码一区二三区小蝌蚪 | 亚洲欧美激情视频| 欧美体内she精视频在线观看| 亚洲国产视频一区| 亚洲精品在线看| 欧美成人一区二区在线 | 一本色道88久久加勒比精品| 免费h精品视频在线播放| 老妇喷水一区二区三区| 激情91久久| 久久久一区二区| 欧美高清在线一区| 亚洲大胆人体在线| 另类春色校园亚洲| 亚洲国产91精品在线观看| 亚洲国产日韩欧美| 欧美高清在线精品一区| 亚洲狼人精品一区二区三区| 日韩一二三区视频| 欧美日韩妖精视频| 亚洲无毛电影| 久久精品一区二区三区四区| 国产亚洲精久久久久久| 久久精品日韩一区二区三区| 久久天堂精品| 亚洲美女精品成人在线视频| 欧美激情第五页| 这里只有精品丝袜| 久久九九久精品国产免费直播| 激情文学综合丁香| 欧美激情精品久久久久久久变态| 亚洲精品久久久久久一区二区| 亚洲天堂成人在线观看| 国产免费一区二区三区香蕉精| 久久精品国产69国产精品亚洲 | 亚洲欧美国产制服动漫| 国产日韩欧美麻豆| 欧美不卡福利| 亚洲伊人网站| 欧美高清在线观看| 亚洲欧美日韩在线一区| 黄色日韩网站视频| 欧美日韩无遮挡| 欧美亚洲三区| 亚洲人成小说网站色在线| 亚洲欧美综合国产精品一区| 激情丁香综合| 欧美视频网站| 久久综合国产精品| 亚洲图片欧美午夜| 欧美国产精品v| 欧美在线视频a| 亚洲三级色网| 国产一区二区三区奇米久涩 | 免费在线成人av| 午夜日韩在线| 亚洲美女91| 女女同性精品视频| 新片速递亚洲合集欧美合集| 亚洲精品综合| 狠狠入ady亚洲精品| 欧美午夜在线视频| 欧美国产免费| 久久久精品性| 一二三区精品福利视频| 欧美黑人一区二区三区| 欧美在线在线| 香蕉成人久久| 亚洲午夜在线视频| 亚洲另类在线视频| 激情欧美一区二区三区| 国产麻豆9l精品三级站| 欧美三区美女| 欧美日韩国产在线| 欧美成人自拍| 美女脱光内衣内裤视频久久网站| 欧美亚洲一区二区在线| 中文精品视频| 一区二区三区视频免费在线观看| 欧美国产日韩免费| 欧美不卡一区| 免费一级欧美片在线观看| 久久久综合香蕉尹人综合网| 欧美一级成年大片在线观看| 亚洲视频一区二区在线观看| 日韩视频一区二区三区在线播放免费观看| 国产亚洲欧美一区二区| 国产欧美精品一区| 国产精品美女久久| 国产欧美日韩91| 国产一区二区在线免费观看| 国产精品尤物| 韩日成人在线| 伊人天天综合| 亚洲激情国产| 99re6热只有精品免费观看| 亚洲日本中文字幕| 野花国产精品入口| 亚洲男人的天堂在线| 欧美一区二区三区视频免费| 久久大逼视频| 久久综合一区二区| 亚洲电影一级黄| 亚洲精品中文字幕在线| 一区二区三区精品视频| 午夜精品一区二区三区在线视| 欧美在线一二三| 蜜桃av一区二区三区| 欧美日韩国产精品专区| 欧美性一区二区| 国产一区二区三区在线观看网站| 黄色一区二区在线| 亚洲精品老司机| 午夜在线播放视频欧美| 狼狼综合久久久久综合网| 欧美黄色小视频| 99re6这里只有精品视频在线观看| 亚洲视频欧美视频| 久久成人精品电影| 欧美高清视频在线观看| 国产精自产拍久久久久久| 国内一区二区在线视频观看| 亚洲黄色精品| 欧美亚洲一区三区| 欧美ed2k| 亚洲欧美日韩天堂| 农村妇女精品| 国产一区二区三区四区| 一区二区三欧美| 欧美a级理论片| 亚洲免费在线电影| 欧美激情一区在线观看| 国产欧美日韩精品丝袜高跟鞋 | 欧美视频在线视频| 红桃视频国产精品| 亚洲男人第一网站| 亚洲国产欧美一区二区三区久久| 亚洲欧美日韩中文播放| 欧美精品激情在线| 亚洲国产精品精华液2区45|