zoukankan      html  css  js  c++  java
  • 输出二叉查找树poj 2418 二叉查找树

    改章节朋友在深圳游玩的时候突然想到的...近期就有想写几篇关于输出二叉查找树的文章,所以回家到之后就奋笔疾书的写出来发布了

        http://poj.org/problem?id=2418

        /*

        二叉查找树:对于树中的个每节点X,它的左子树中的全部节点的值小于X的值,它的右子树中的全部节点的值大于X的值;

        */

        目题粗心:给出一些单词(包括大小写和格空),单词可以重复涌现(单词最多10000种,最多1000000个)。要求按字典序输出单词并输出个每单词占的比例;

        思绪:单词的比拟可以用strcmp,由于单词数较多,直接序排可能超时,若用字典树的话要需的空间大较。因此可以虑考将单词作为二叉查找树的关键字树建,然后按序中遍历输出。

        每日一道理
    成熟是一种明亮而不刺眼的光辉,一种圆润而不腻耳的音响,一种不要需对别人察颜观色的从容,一种终于停止了向周围申诉求告的大气,一种不理会哄闹的微笑,一种洗刷了偏激的淡漠,一种无须声张的厚实,一种并不陡峭的高度。
    #include<iostream>
    #include<stdio.h>
    #include<string.h>
    #include<stdlib.h>
    using namespace std;
    struct node
    {
    	char word[33];
    	int cnt;
    	node *left,*right;
    	node(char *n){
    		strcpy(word,n);
    		cnt=1;
    		left=NULL;
    		right=NULL;
    	}
    }*root;
    double count;
    //插入二叉查找树
    node* insert(char *word,node *p)
    {
    	if(p==NULL){
    		p=new node(word);
    	}
    	else if(strcmp(word,p->word)<0)
    		p->left=insert(word,p->left);
    	else if(strcmp(word,p->word)>0)
    		p->right=insert(word,p->right);
    	else
    		p->cnt++;
    	return p;
    }
    //输出序中遍历结果
    void output(node *p)
    {
    	if(p==NULL)
    		return;
    	output(p->left);
    	printf("%s %.4lf\n",p->word,(p->cnt)/count*100);
    	output(p->right);
    	delete p;
    }
    int main()
    {
    	char word[33];
    	count=0;
    	while(gets(word)){
    		root=insert(word,root);
    		count++;
    	}
    	output(root);
    	return 0;
    }

    文章结束给大家分享下程序员的一些笑话语录: 女人篇
      有的女人就是Windows虽然很优秀,但是安全隐患太大。
      有的女人就是MFC她条件很好,然而不是谁都能玩的起。
      有的女人就是C#长的很漂亮,但是家务活不行。
      有的女人就是C++,她会默默的为你做很多的事情。
      有的女人就是汇编虽然很麻烦,但是有的时候还得求它。
      有的女人就是SQL,她会为你的发展带来莫大的帮助。

  • 相关阅读:
    Scrum是脆弱的,不敏捷的
    Solr 全文搜索
    Java并发之线程封闭
    Java中的关键字synchronized
    Java并发框架:Executor
    锁,表锁,行锁,页锁,共享锁,排他锁
    事务及事务隔离
    MySql存储引擎:innodb myisan memory
    树,二叉树
    B树(B-树) 、B+树
  • 原文地址:https://www.cnblogs.com/jiangu66/p/3045622.html
Copyright © 2011-2022 走看看