简单的解释就是,insert函数修改的是指针的属性而不是指针指向的目标地址内容的属性。 代码: #include<iostream>#include<cstdio>#include<cstdlib>#include<cstring>usingnamespacestd;intsum=0;//结构体里面似乎不能用string//指针的使用structnode{intcnt;charword[31]; node*l; node*r; };voidinsertBST(node...
题目链接:POJ 2418 Hardwood Species 【题意】给出一大串树的名字,可能有重复,然后按字典序输出名字和百分比。 【思路】我已开始偷懒用了map来做,这道题给的时间是10s,用map的8s也还是水过了,真是神奇啊 ,后来还是写了一下字典树,700ms+就过了,效率提升显著啊。这里要注意的是建字典树的ChildSize是256,题目...
另外还有遍历过程中,输出字符串的问题,我是用一个另外的字符串数组在建立trie树的时候就存下了所有的id对应的字符串,其实应该是可以在遍历的时候,记录下各个节点表示的字符从而达到输出目的的,这样其实可以更省空间。
职务地址:POJ 2418 通过这个题查了大量资料。。知道了非常多曾经不知道的东西。 。 。。 在代码中凝视说明吧。 代码例如以下: #include<iostream>#include<cstdio>#include<string>#include<cstring>#include<stdlib.h>#include<math.h>#include<ctype.h>#include<queue>#include#include<algorithm>usingnamespaces...
【POJ 2418】Hardwood Species 题解(映射) 描述 阔叶树是一种植物群,具有宽阔的叶子,结出果实或坚果,通常在冬天休眠。 美国的温带气候造就了数百种阔叶树种的森林,这些树种具有某些生物特征。例如,虽然橡树、枫树和樱桃都是硬木树,但它们是不同的物种。所有硬木树种加起来占美国树木的40%。 另一方面,软木,或针叶...
POJ 2418 Hardwood Species 2012-06-29 13:28 −题目地址为http://poj.org/problem?id=2418 这题,我起先用的是AVL树,结果时间超时,最后发现,直接用二叉树就行了,根本就不需要旋转。由于数据是随机的,因而这棵二叉树的性能还行。当然还可以用trie树来解决。 题目很简单,直接上代码 1 #include <io... ...
poj2418 题目大意:对给定的一些树名进行字典排序并输出所占的比例。 思路不难就是对给定的数进行字典排序,可是如何存储和如何进行排序是解决问题的关键了,这里我们用到一种叫做二叉搜索树的数据结构。 #include <iostream> #include <string> using namespace std;...
http://poj.org/problem?id=2418 这是一个二叉树的题目,但我看了下书,还是不是特别理解会用二叉树,所以我就用其他的办法来做,结果一样AC,时间也就1700多ms,比起二叉树的时间多了几百ms 但是就是内存大了很多倍,因为数组开的大,也是一个水题
【POJ】2418 Hardwood Species 简单字典树。 1#include <cstdio>2#include <cstring>3#include <cstdlib>45#defineMAXN 12867typedefstructTrie {8intcount;9Trie *next[MAXN];10Trie() {11count =0;12for(inti=0; i<MAXN; ++i)13next[i] =NULL;14}15} Trie;1617Trie root;18charbuf[35];19...
poj 2418 简单Trie树 题意: 给出一些字符串,统计出现的次数,并按字典序输出。 分析: 裸的Trie树,因为输出按字符串的字典序输出,所以插入的时候,把第一次出现的字符串暂时保存起来。以后排完序在查询输出即可。 不过这题我发现了一个很神奇的地方,因为我刚开始保存字母节点的时候开的数组是26,如果出现大写字母...