举排序算法为例,我们知道快速排序看上去很美,空间复杂度/平均时间复杂度都不可挑剔;而冒泡排序,时间复杂度看上去真是让人不敢恭维。但,我们也知道快速排序在某些场景并不理想,比如接近有序的数组排序。冒泡排序有时非常给力,如规模有限的排序,简单。各有各的美。
在第一阶段,不管是形码输入法,还是音码输入法。设计的主要目标都是确保不同的汉字能使用不同输入字符串系列来表示。
形码输入法,如五笔输入法的目标是在码长方面进行极致优化,使得汉字可以使用尽可能短的编码表示,且尽可能不冲突(两个汉字的编码并不一样)。这个设计目标的优势当然是因为减少冲突带来输入速度很快。缺点也显而易见,那就是这是一套新设计的编码,需要掌握一门新的“编码语言”。在中文输入法刚刚开始发展的时候,这个问题还显得并不重要,因为接触计算机,或者需要大量进行文本输入的用户很少。也正因为这个原因,掌握五笔输入法,犹如掌握一门“高端”的技术。随着计算机的普及和大量计算机用户的出现,上述设计目标的劣势开始凸现。
音码输入法的发展,显然得益于持续增长的计算机用户。一般普通的计算机用户,文本处理的需求不一定非常频繁,为此而掌握一门新的语言是横在广大用户前面的一道门槛。输入法掌握的难易程度开始成为一个重要的指标。如紫光拼音输入法等音码输入法,依然持续优化单个汉字(词汇)的编码表示,只不过基于绝大多数用户天生掌握的中文拼音编码。这样的情况下,开始出现一些双拼,缩写,方言支持,容错(忽略饶舌/鼻音)等都是对设计目标的积极追求。
欢迎大家关注我的微信公众号 - “水滴杂谈”
原文地址:http://blog.csdn.net/three_body/article/details/44703451