如何用JAVA开发《英汉字典》程序?

来源:百度知道 编辑:UC知道 时间:2024/07/08 08:47:16
具体要求:由用户界面输入要查询的单词,然后从文本文档TXT(已录入单词)中查询所录单词,如找到将释义显示于用户界面。
开发该程序所涉及到的具体技术是什么?
1.该用何种数据结构存储单词?
2.用哪种查询算法时间复杂度较低?
3.是否需在启动程序前把文档读入内存已便查询?
4.主要技术难点是什么?
(由于本人第一次开发JAVA程序,对如何实现该程序不是很了解,计划用NETBEAN集成环境开发,希望高手不吝赐教!有自己想法也行!)
呵呵,最近研读了一本关于JAVA的书籍,觉得采用TreeMap存储比较佳。
再添加过程中,自动进行升序排列。
分过几天我再给。当然是给回答比较详细的!

1. 由于你单词本固定,无需动态改变,用String数组就可以了,不用map也非常快了。
2. 将各个单词提前排序,查询时就可以用2分法,复杂度很低。
3. 自己估算一下单词数量,决定是否一次读入内存。
4. 只用到数据结构和算法方面很基础的东西,没什么特别的。可能java界面编程你需要稍稍入门即可。netbeans做界面也很好用,接近于vb了。

to laogao3232:
我说的String只是指单词(作为key),至于每个单词的词条另存到其他地方。可以让每个单词另带一个“指针”指向词条位置。当然也可以认为这是一个最原始的map。

TXT
毕业设计?
用String好像不是个好办法。
速度可能很慢!因为你要预估txt文本中的单词条数量,不可能用默认的长度10吧!如果txt文本中的词条数量超过你的预估,那将发生非常大规模的数组重建和复制,时间开销太大。而且String默认长度16个字符,如果词条的信息超过这个长度,就需要重新new个对象,再复制。时间开销太大!

to uestcfb
你是说用map做?map遍历是很方便,可是查找就不方便了。

关注!!
用map存储似乎也不太好,单词的含义可以有好几种,占用空间成了问题了.建议还是用查找树来存储,查询起来快一些.
在调用的时候,还是要建立一个缓存区,不要频繁地进行对文本文件进行操作.
估计还是要在数据结构建立上要花大工夫,有了数据结构,想要进行查询应该就容易了.调用文件时候如果没法实现就用笨方法,每用到一次,从文件中读取一次.

希望高手解决.

此贴关注一下,我也有类似想法
存储我觉得应该就是Map Key-value 这种吧
算法 就不是太清楚 可能是二分查找 也可能是Hash

去找李宁,绝对有帮助!