C - 数据结构实验之查找三:树的种类统计(哈希树)
Description
随着卫星成像技术的应用,自然资源研究机构可以识别每一个棵树的种类。请编写程序帮助研究人员统计每种树的数量,计算每种树占总数的百分比。
Input
输入一组测试数据。数据的第1行给出一个正整数N (n <= 100000),N表示树的数量;随后N行,每行给出卫星观测到的一棵树的种类名称,树的名称是一个不超过20个字符的字符串,字符串由英文字母和空格组成,不区分大小写。
Output
按字典序输出各种树的种类名称和它占的百分比,中间以空格间隔,小数点后保留两位小数。
Sample
Input
2
This is an Appletree
this is an appletree
Output
this is an appletree 100.00%
Hint
哈希树
字典树
#include<bits/stdc++.h>using namespace std;typedef struct node
{char name[30];int cnt;struct node *l, *r;
} tree;int n;
tree *create(tree *&root, char str[])
{if(root == NULL){root = new tree;strcpy(root->name, str);root->cnt = 1;root->l = NULL;root->r = NULL;}else{int temp = strcmp(root->name, str);if(temp > 0)create(root->l, str);else if(temp < 0)create(root->r, str);else root->cnt++;}return root;
}void midorder(tree *root)
{if(root){midorder(root->l);printf("%s %.2lf%%\n", root->name, 100.0 * root->cnt / n);midorder(root->r);}
}
int main()
{//ios::sync_with_stdio(0);不能加这条语句,加了不给过int t;char s[30];tree *root;root = NULL;cin >> t;n = t;getchar();while(t--){gets(s);int len = strlen(s);for(int i = 0; i < len; i++){if(s[i] >= 'A' && s[i] <= 'Z')s[i] += 'a' - 'A';}root = create(root, s);}midorder(root);return 0;
}
C - 数据结构实验之查找三:树的种类统计(哈希树)相关推荐
- SUTD OJ 数据结构实验之查找二:平衡二叉树
数据结构实验之查找二:平衡二叉树 Time Limit: 400 ms Memory Limit: 65536 KiB Submit Statistic Problem Description 根据给 ...
- SDUT_2118 数据结构实验之链表三:链表的逆置
点击打开链接 数据结构实验之链表三:链表的逆置 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Discuss Problem De ...
- SDUT-3378_数据结构实验之查找六:顺序查找
数据结构实验之查找六:顺序查找 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 在一个给定的无序序列里,查找与给定关键字 ...
- 数据结构实验之查找七:线性之哈希表
数据结构实验之查找七:线性之哈希表 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Problem Description 根据给定 ...
- SDUT 3379 数据结构实验之查找七:线性之哈希表
数据结构实验之查找七:线性之哈希表 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 根据给定的一系列整数关键字和素数p, ...
- SDUT 3377 数据结构实验之查找五:平方之哈希表
数据结构实验之查找五:平方之哈希表 Time Limit: 400MS Memory Limit: 65536KB Submit Statistic Problem Description 给定的一组 ...
- SDUT 3347 数据结构实验之数组三:快速转置
数据结构实验之数组三:快速转置 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 转置运算是一种最简单的矩阵运算,对于一个 ...
- SDUT 3400 数据结构实验之排序三:bucket sort
数据结构实验之排序三:bucket sort Time Limit: 150MS Memory Limit: 65536KB Submit Statistic Problem Description ...
- 3374——数据结构实验之查找二:平衡二叉树
数据结构实验之查找二:平衡二叉树 ( LL RR LR RL) Problem Description 根据给定的输入序列建立一棵平衡二叉树,求出建立的平衡二叉树的树根. Input 输入一组测试数据 ...
最新文章
- Linux学习之CentOS(三)--初识linux的文件系统以及用户组等概念
- input在type=number时去右边上下箭头
- Vue系列vue-router的嵌套使用(四)
- infinitescroll php,WordPress: 增加无限分页(Infinite Scroll)功能
- Matplotlib 三维图像 入门
- [原] KVM 虚拟化原理探究(6)— 块设备IO虚拟化
- vlan的基本指令_华为:vlan基础命令及配置实验
- Android SDK的环境变量配置
- 盘点10种局域网联机游戏
- CAD教程:CAD自定义菜单和工具栏的操作技巧
- oracle 查询优化
- flutter安装教程与XD教程
- 国家虚拟仿真实验教学项目共享平台(实验空间)PHP SDK
- 华为x6000刀箱和机架服务器RAID配置和超线程关闭
- 用计算机算平米怎么算,平米换算亩怎么算(平方米换算亩计算器)
- 傲游浏览器 页面广告过滤 自定义 过滤规则 及使用方法 不定时更新
- java算多元回归方程_java多元线性回归算法
- Word之页眉和页脚设置(一)
- 多目标/单-VRT路径规划-更新汇总
- 记一次无备份恢复Mysql误删用户数据
热门文章
- 【 c#】实现form窗口中,通过按钮实现tabPage的切换
- Docker run 命令【转】
- ibatis annotations 注解方式返回刚插入的自增长主键ID的值--转
- Lesson 8.1Lesson 8.2 决策树的核心思想与建模流程CART分类树的建模流程与sklearn评估器参数详解
- 元宇宙iwemeta: 韩国政府力挺元宇宙, 打造元宇宙城市 出台五年规划
- 旷视:深度学习框架开源
- The Wide and Deep Learning Model(译文+Tensorlfow源码解析) 原创 2017年11月03日 22:14:47 标签: 深度学习 / 谷歌 / tensorf
- KNN与K-Means
- 大数据市场规模5年将达8000亿 交易平台忙圈地
- jvm性能调优 - 19G1分代回收原理深度图解