我出个题目。大家比试一下设计?
你用过紫光吗?我们这个问题就是使用紫光作为我们的比试对象。首先,紫光的词库具有以下的缺陷:
1,其设计有问题,导致词库在超过一定规模后就工作不稳定,http://www.hubeiyouth.com/bbs/dispbbs.asp?boardID=6&ID=5&page=1
题目要求是起码支持4GB大小的词库文件而能正常工作。
2,其次,紫光的词组只能是由2-9个字组成,题目要求是支持1-无限长的词组。
3,支持中英文混排,即一个词组可以被设定由中文和英文组成。这个特性紫光是不支持的。
4,性能,不能太慢。
要求给出算法和存储结构,不必写程序,大家开动一下脑筋。
我自己已经有了方案,就当我是擂主吧。挑战一下师弟师兄们。来吧,施主。 不懂……
顶下……=WOOL HJACK来打吧高僧 楼主的意思是?给出输入法的算法和存储结构? 人气不高啊。作废了。 不是人气不高……
是水平不高……
水平高的又不浮头
浮了头又潜下去……
呵呵
[ 本帖最后由 iptton 于 2006-6-20 17:01 编辑 ] 原帖由 iptton 于 2006-6-20 16:55 发表
不是人气不高……
是水平不高……
呵呵
呵呵,其实,是我们钻牛角尖了,一定要把每个题目都想复杂了,想高级了才能体现知识的深度么?
我提示一下:
你用过紫光吗?
1,其设计有问题,导致词库在超过一定规模后就工作不稳定,http://www.hubeiyouth.com/bbs/dispbbs.asp?boardID=6&ID=5&page=1
题目要求是起码支持4GB大小的词库文件而能正常工作。
4GB恰好是32位的大小,即我们使用标准的4个字节无符号整数作为地址则可以保证寻址空间达到4GB,如果题目要求超过4GB就用5字节,6字节......
另一个必要条件是要用链表,紫光之所以在词库达到一定规模就出问题,估计在某些结构使用了数组,它这样的目的是为了性能考虑的。
2,其次,紫光的词组只能是由2-9个字组成,题目要求是支持1-无限长的词组。
从紫光的这个特性可以猜出紫光结构对词组的支持是使用等长数组,即把相同长度的词放在一起使用数组,这样可以使用定长的特性(即数组)加速搜索算法。缺点是对变长的词组支持不够。
同样,我们使用链表即可。
3,支持中英文混排,即一个词组可以被设定由中文和英文组成。这个特性紫光是不支持的。
从这个猜出紫光在设计的当初没有考虑这个情况,其核心算法是先完成拼音编码到汉字内码的转换,然后再在词库搜索出词组。从而导致我们无法记住“编号9527”这个绝世词组。
4,性能,不能太慢。
由于使用了链表替换了紫光使用的数组结构,那么剩下的就必须考虑一下什么样的链表结构才是性能好的。
一个首字索引数组是必不可少的。
然后剩下的结构中要用链表,至于是AVL树还是最佳搜索二叉树那是个人有个人看法了 说实话,没有用过紫光!
看不明! 对这方面不熟悉,不知道该怎么做。 好问题
做设计就要从实际问题考虑吧
否则就不见提高吧
可惜我还不会
页:
[1]