利用字典树实现,当节点的num为1时,说明为唯一的前缀

//[openjudge] 2797最短前缀 Trie
struct Trie
{Trie *next[26];int num;Trie(){for (int i = 0; i < 26; i++)next[i] = NULL;num = 0;}
};
Trie root;
void insert(char *s){Trie *p = &root;for (int i = 0; s[i] ; ++i) {int tt = s[i] - 'a';if (p->next[tt]==NULL)p->next[tt] = new Trie;p = p->next[tt];p -> num++;}
}void find(char *s){Trie *p = &root;for (int i = 0; s[i] ; ++i) {int tt = s[i] - 'a';if (p->next[tt]==NULL)return;p = p->next[tt];printf("%c",s[i]);if (p->num==1)return;}
}int main2797()
{int n = 0;char word[1010][22];while (~scanf("%s", word[n])){insert(word[n]);n++;}for (int i = 0; i < n; ++i) {printf("%s ", word[i]);find(word[i]);printf("\n");}return 0;
}

2797:最短前缀 Trie相关推荐

  1. [openjudge] 2797最短前缀 Trie

    描述 一个字符串的前缀是从该字符串的第一个字符起始的一个子串.例如 "carbon"的字串是: "c", "ca", "car&q ...

  2. Bailian2797 最短前缀【字典树】

    2797:最短前缀 总时间限制: 1000ms 内存限制: 65536kB 描述 一个字符串的前缀是从该字符串的第一个字符起始的一个子串.例如 "carbon"的字串是: &quo ...

  3. python3精要(5)-最长公共前缀Trie树

    单词查找树Trie树,是一种树形结构,是一种哈希树的变种.典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计. python函数引用传递 列表.字典 ...

  4. Trie(前缀树/字典树)及其应用

    from:https://www.cnblogs.com/justinh/p/7716421.html Trie,又经常叫前缀树,字典树等等.它有很多变种,如后缀树,Radix Tree/Trie,P ...

  5. leetcode208. 实现 Trie (前缀树)

    实现一个 Trie (前缀树),包含 insert, search, 和 startsWith 这三个操作. 示例: Trie trie = new Trie(); trie.insert(" ...

  6. 【POJ - 2001 】Shortest Prefixes (字典树,查询重复前缀区间)

    题干: A prefix of a string is a substring starting at the beginning of the given string. The prefixes ...

  7. 数据结构之Trie树

    1. 概述 Trie树,又称字典树,单词查找树或者前缀树,是一种用于快速检索的多叉树结构,如英文字母的字典树是一个26叉树,数字的字典树是一个10叉树. Trie一词来自retrieve,发音为/tr ...

  8. 字典树(Trie tree)

    Trie,又称单词查找树或键树,是一种树形结构,是一种哈希树的变种.典型应用是用于统计和排序大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计.它的优点是:最大限度地减少无谓的字 ...

  9. Trie树:应用于统计和排序

    1. 什么是trie树 1.Trie树 (特例结构树)       Trie树,又称单词查找树.字典树,是一种树形结构,是一种哈希树的变种,是一种用于快速检索的多叉树结构.典型应用是用于统计和排序大量 ...

最新文章

  1. linux系统做bond
  2. 简明python教程 豆瓣-福利分享:个人整理的Python书单,从基础到进阶
  3. telnet WIN7 不回显的解决办法
  4. 一入爬虫深似海,反爬技术你知多少?
  5. vue中v-if指令的使用之Vue知识点归纳(六)
  6. Mysql梳理(单表查询)
  7. linux suse 安装redis,redis 集群安装问题 【SUSE Linux Enterprise Server 11 SP3】
  8. 创建表时参数PCTFREE和PCTUSED是什么意思?
  9. [STL源码剖析]RB-tree的插入操作
  10. GD32VF103移植SVSTEMVIEW
  11. 计算机无法关闭开机密码,Win10系统开机密码取消不掉如何解决
  12. (droid分享)新浪微博开发系列【十一】之查看微博正文
  13. 2008服务器系统c盘清理,WindowsServer2008清理C盘空间
  14. 如何查看两个word文档的不同之处
  15. eregi php 5.2,PHP5.3x不再支持ereg和eregi
  16. 如何快速了解一个新的前端项目?
  17. JFreeChart饼图, java程序中加载宋体字库
  18. python :SyntaxError: Non-ASCII character '\xe5' in file 错误
  19. dcm4che解析DICOM文件生成JPEG图像
  20. linux上的远程桌面工具

热门文章

  1. 前端学习(2052)vue之电商管理系统电商系统之配置http服务
  2. 前端学习(1982)vue之电商管理系统电商系统之删除参数的操作
  3. 前端学习(1701):前端系列javascript之闭包
  4. 前端学习(1381):多人管理项目1项目管理搭建
  5. 前端学习(218):属性选择器
  6. java面试题28 牛客 下面有关java classloader说法错误的是?
  7. 第四十三期:Wireshark网络分析就这么简单,你一定会喜欢的技巧
  8. java面试题8 牛客:在Web应用程序中,( )负责将HTTP请求转换为HttpServletRequest对象
  9. 48session的生命周期
  10. centos7 安装cacti