动态建树之——查字典
题目:poj2503
题意:给几个单词的意思,再给几个单词,查字典~
解答:字典树咯(注意节点定义,每个节点定义一个字符数组)
注意:空行停止!!!
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cstdlib>
using namespace std;
const int sonnum = 26,base = 'a';
struct Trie
{int num;bool terminal;struct Trie *son[sonnum];char mean[25];
};
Trie *NewTrie()
{Trie *temp = new Trie;temp -> num = 1;temp -> terminal = false;memset(temp -> mean,0,sizeof(temp->mean));///for(int i = 0;i < sonnum;i++){temp -> son[i] = NULL;}return temp;
}
void Insert(Trie *pnt,char *s1,char *s2,int len1,int len2)
{Trie *temp = pnt;for(int i = 0;i < len1;i++){if(temp -> son[s1[i]-base] == NULL){temp -> son[s1[i]-base] = NewTrie();}elsetemp -> son[s1[i]-base] -> num++;temp = temp -> son[s1[i]-base];}temp -> terminal = true;for(int i = 0;i < len2;i++){temp -> mean[i] = s2[i];}// strcpy(temp->mean,s2);(strcpy函数:字符串复制)return;
}
Trie *Find(Trie *pnt,char *s,int len)
{Trie *temp = pnt;bool flag = false;for(int i = 0;i < len;i++){if(temp -> son[s[i]-base] == NULL){printf("eh\n");return temp;}else temp = temp -> son[s[i]-base];}if(temp -> terminal == true){printf("%s\n",temp -> mean);return temp;}return temp;
}
int main()
{Trie *tree = NewTrie();char tm;char a[20],b[20];while(1){scanf("%s",b);tm = getchar();///if(tm == '\n')///break;scanf("%s",a);Insert(tree,a,b,strlen(a),strlen(b));}Find(tree,b,strlen(b));///注意这里while(~scanf("%s",b)){Find(tree,b,strlen(b));}return 0;
}
动态建树之——查字典相关推荐
- 字典树 静态建树与动态建树
http://blog.csdn.net/wyg1997/article/details/52121597 其实动态建树和静态建树都一样,只是动态建树省空间费时间,静态建树省时间费空间. 那么如果碰上 ...
- 存用部首查字典如何查_文献阅读技巧:牛人博士如何看文献!
这是 社科学术圈 推送的第1658篇文章 发表学术论文,阅读文献是最基本的.今天我们总结了几个牛人博士的文献阅读经验,希望能让你有所思考和感悟.(一)从phd到现在工作半年,发了12篇paper, 7 ...
- 全面讲解Python字典;--什么是字典?字典的常用方法;创建空字典并赋值,增删改查字典中的元素
一.什么是字典? 二.字典的常用方法 1.len()统计数据项长度 A={"name":'迪奥','age':'600'} print(len(A)) 2 计算方法是每隔一个逗号是 ...
- sdutOJ 查字典(Python)
思路:读入时按冒号split之后填成字典即可. #sdut 查字典while True:dic = {}n,m = input("").split(' ')n = int(n)m ...
- 创建一个简单的后台教务管理系统,包含动态增删改查学生,年级和课程信息及查看登录日志等功能,包含表单验证.
创建一个简单的后台教务管理系统,包含动态增删改查学生,年级和课程信息及查看登录日志等功能,包含表单验证. 一.显示页面 新建一个登录页面,即login.jsp <%--Created by In ...
- 古汉语常用字字典_掌握了音序或部首查字法,就会查字典了?不,差得远着呢!...
前一段时间,我连续写了两篇关于使用工具书的文章. 为什么要教会孩子使用工具书,我和你想的不大一样 给孩子选择合适的工具书,一定要注意哪些问题 如果说以上两篇是主要是在谈原则和方向的问题,那么本篇就是方 ...
- 五笔字码反查字典 ZDic for Palm 制作方法
五笔字码表反查字典可以从这里获得: http://braveo.blogbus.com/logs/24519222.html 本文主要是介绍这个字码表的制作方法.以作抛砖引玉之用. 1. 从scim字 ...
- 华北电力大学保定校区计算机专业,华北电力大学保定校区本科计算机科学与技术_华北电力大学保定校区本科计算机科学与技术简介-查字典学校网...
华北电力大学保定校区·本科·计算机科学与技术 学科:工学 门类:电气信息类 专业名称:计算机科学与技术 业务培养目标:本专业培养具有良好的科学素养,系统地.较好地掌握计算机科学与技术包括计算机硬件.软 ...
- 浮点数和整数的区别python_浮的部首|浮的拼音|浮的组词|浮的意思 - 查字典
浮 fú 拼音: fú 注音: ㄈㄨˊ 部首笔划:3 总笔划:10 繁体字:浮 汉字结构:左右结构 简体部首:氵 造字法:形声 笔顺:捺捺横撇捺捺撇折竖横 浮的意思.基本信息 五笔86:IEBG 五笔 ...
最新文章
- 大厂程序员回乡真风光?敲锣打鼓游街欢迎,横幅写着月薪和公司!
- python读excel乱码_Python读写excel练习_去除excel中乱码行,并添加列
- [Linq]Linq To Xml (待整理)
- IntelliJ IDEA中右键新建时,选项没有Java class的解决方法和具体解释
- 用wxpython做ui_wxPython - 如何强制UI刷新?
- 后端技术:SpringBoot配置热加载工具(devtools)笔记
- Python基础-----列表、元组、集合(2)
- leetcode979. 在二叉树中分配硬币(dfs)
- Quantumas,作者太NB了,俺发现俺菜得跟猪一样!!!
- 7-2 查找指定字符 (15 分)
- 【微信小程序】视频播放小程序
- 开发管理·华为IPD
- 服务器装无线上网卡,dlink无线上网卡怎么安装和设置
- 如何用NLP辅助投资分析?三大海外机构落地案例详解
- 计算机不显示磁盘阵列,识别不到硬盘?bios中怎么改raid为ahci硬盘模式。
- 骆昊python100天 github_GitHub - zsfz/Python-100-Days: Python - 100天从新手到大师
- 实现根据相机视角输入WASD移动和转向的功能
- 关于 右键新建选项 假死 死机 卡机 崩溃 闪退 的问题 (含 无法拖拽文件 或者ps无法拖拽等)
- 【干货长文】诺亚财富解读市场信息心理学
- 蓝牙与UWB的技术对比