一个字典树问题--电话号码转化问题(POJ 1002 487-3279)
字典树,又称为单词查找树,Trie树。是一种用于快速检索多叉树的结构。典型应用于统计,排序和保存大量字符串。利用字符串的前缀来减少存储空间,减少无谓的比较,提高查询效率。
字典树根节点不包含任何数据,其余节点仅包含一个字母,并且每个节点包含的字母各不相同。
字典树的查找检索总是始于根节点,先取得对应的首字母,然后根据对应的子树进行继续检索查找,往往给字典树一个结束信息标志,作为所有字符成功读出的结束标志。
下面是一个电话号码格式数字转化的问题。(POJ 1002 487-3279)
Description
企业喜欢用容易被记住的电话号码。让电话号码容易被记住的一个办法是将它写成一个容易记住的单词或者短语。例如,你需要给滑铁卢大学打电话时,可以拨打TUT-GLOP。有时,只将电话号码中部分数字拼写成单词。当你晚上回到酒店,可以通过拨打310-GINO来向Gino's订一份pizza。让电话号码容易被记住的另一个办法是以一种好记的方式对号码的数字进行分组。通过拨打必胜客的“三个十”号码3-10-10-10,你可以从他们那里订pizza。Input
输入的格式是,第一行是一个正整数,指定电话号码薄中号码的数量(最多100000)。余下的每行是一个电话号码。每个电话号码由数字,大写字母(除了Q和Z)以及连接符组成。每个电话号码中只会刚好有7个数字或者字母。Output
对于每个出现重复的号码产生一行输出,输出是号码的标准格式紧跟一个空格然后是它的重复次数。如果存在多个重复的号码,则按照号码的字典升序输出。如果输入数据中没有重复的号码,输出一行: