题目

在拼音输入法中,如何根据拼音,或者部分拼音,快速找到相应的汉字,以及包含该汉字的词?

思路

这道题涉及到两个问题

1.通过拼音/部分拼音 找到相应的字

2.通过汉字 找到包含该汉字的词

对于问题1,使用书中提到的B树解决,问题2使用哈希表解决即可.

解法

制作汉语拼音B树,第二层为声母,第三层为韵母,每个节点都有5个子节点作为第5层,分别代表5个声调,第6层就是每个拼音所代表的汉字.

输入部分拼音时,显示以部分拼音开头的所有拼音下的所有汉字,比如输入li,显示li,lia,lie,lin,ling....等音相对应的汉字.

制作汉语词汇哈希表,键是单个的汉字,值为包含该汉字的所有词汇.

得到汉字后,输入哈希表即可快速得到所有包含该汉字的词汇.

《计算之魂》思考题4.3相关推荐

  1. 计算之魂 寻找最好的算法

    寻找最好的算法 1. 实例 以总和最大区间问题为例: 给定一个实数序列,设计一个最有效的算法,找到一个总和最大的区间 暴力解法1:O(n3),暴力枚举左边界和右边界需要O(n2),计算边界内的和需要O ...

  2. 《计算之魂》--- 思考题0.3 【读书笔记】

    <计算之魂>- 思考题0.3 题目如下 分别计算一下1946年的 ENIAC 和如今的 华为P30 在一度电的功耗下,能完成多少次计算. ENIAC 根据资料得知 ENIAC每秒计算500 ...

  3. 《计算之魂》读书笔记 04

    <计算之魂>读书笔记 04 1.4 关于排序的讨论 [1.4.3]针对特殊情况,我们是否还有更好的答案? [附录]为什么排序算法的复杂度不可能小于 O(nlogn)O(nlogn)O(nl ...

  4. 《计算之魂》阅读笔记 02

    <计算之魂>阅读笔记 02 1.3 怎样寻找最好的算法 例题 1.3 方法一:三重循环 方法二:二重循环 方法三:分而治之 方法四:正反扫描 [思考题 1.3.1] [思考题 1.3.2] ...

  5. [datawhale202208]计算之魂共读:怎样寻找最好的算法

    结论速递 本次通过了解总和最大区间问题(即最大子序和)的四种时间复杂度的求解方法,直观地了解了算法复杂度和最优算法的关系. 同时,了解了对优化算法复杂度的判断包含三个内容:对问题边界的认知,对无用功的 ...

  6. 《计算之魂》Task2:怎样寻找最好的算法

    <计算之魂>Task2 1. 问题描述 2. 解决方法 2.1 方法1:三重循环 2.2 方法2:两重循环 2.3 方法3:分治算法 2.4 方法4:正.反两遍扫描 2.4.1 通常情况下 ...

  7. 《计算之魂》读书笔记 01

    <计算之魂>阅读笔记 01 目录 <计算之魂>阅读笔记 01 第1章 - 前言 1.1 算法的规范化和量化度量 [思考题 1.1] 1.2 大数和数量级的概念 [思考题 1.2 ...

  8. [datawhale202208]计算之魂共读:算法规范化,大数和数量级的概念

    结论速递 本次阅读了1.1及1.2章节. 1.1章节首先介绍计算机的软硬件分离历史,引出了程序算法独立存在的价值.并介绍了提出将算法进行量化度量的高德纳的五件闻名于世的事,强调了算法量化的重要性. 1 ...

  9. 《计算之魂》读书笔记

    计算之魂(吴军) 引子 计算的本质--从机械到电子 第 1 章 毫厘千里之差--大O概念 1.1 算法的规范化和量化度量 软件为什么从计算机科学中分离出来? 最初计算机是用于计算,而拥有了计算的基础功 ...

  10. 计算之魂-计算的本质是机械运动

    阅读吴军老师的新书 <计算之魂>,碰到有意思的内容,会在此做一个记录 计算的本质是机械运动 今天的电子计算机可以被理解成由很多能够被控制的开关构成,这些开关的运动和计算过程是对应的.也就是 ...

最新文章

  1. SQL SERVER数据库多条件查询
  2. java构造器详解_Java中关于构造器的使用详解
  3. NodeJS的安装与使用
  4. php 查看扩展 代码,[扩展推荐] 使用 PHP Insights 在终端查看 PHP 项目代码质量
  5. html 插入本地视频,win7系统中Word文档插入本地视频的方法【图文】
  6. 【聚类分析】基于matlab GUI K-means聚类分析【含Matlab源码 791期】
  7. win10相机打不开,显示错误代码0xA00F4246(0x800706D9)
  8. mysql数据库解锁
  9. html打印预览空白,win7系统下使用IE浏览器预览打印页面时显示页面空白
  10. 完全卸载chrome
  11. CISP 相关知识点梳理
  12. 聊天机器人系统的组成结构及关键技术
  13. Myeclipse10完美破解过程
  14. 打造数据中台,为企业提供智能服务
  15. 阿里云研究员马涛:龙蜥社区做对了两件事
  16. MP3制作之LRC歌词文件解析(附:源代码)
  17. Gym - 102569A
  18. qt4.8 利用串口实现智能大棚系统
  19. DELMIA软件:机器人仿真动画视频生成功能介绍与使用方法
  20. 如何用命令启用计算机用户,win10启用administrator账户的步骤_如何在win10下启用administrator用户...

热门文章

  1. Html5游戏开发攻略(API篇)
  2. php 抓取网页内容与图片
  3. 京东月薪45k的AI算法工程师,需要具备怎样的技能?
  4. UE4 基于VLC的视频监控
  5. 深夜,想到今天学的linux内容,太值了
  6. kdd19 Investment Behaviors can tell what inside:Exploring Stock Intrinsic Properties for Stock Trend
  7. linux强制网卡linkup,使用ip link set eth0 up 命令启用网卡后,网络不通的问题的解决...
  8. 小程序中输入框input的type属性 text、number、idcard、digit 区别
  9. 打开桌面上计算机特别慢,如何解决Win7电脑启动慢的问题?
  10. python控制qq群_Python3 selenium 实现QQ群接龙自动化功能