一个简单的问题,那位能给个优化的算法? 程序中要根据汉字的拼音缩写来查找相应的汉字,如"DN",查出的是"电脑".像这样的缩写有上百条,我的实现是用if语句或switch语句,这样假设查的是"ZY"(专业),程序就会匹配到最后才能匹配成功(按首字母升序排列).这样效率会低很多,不知道这样的问题又没有优化的算法?那位能给个事例呀,谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 把缩写存进数据库,然后用like来查询。 程序启动时先初始化一个HashTable,把所有汉字以拼音缩写为Key存入即可 或者用System.Collections.Specialized.StringDictionary其键被强类型为字符串,效率高些 将数据导入到hashtable或类似对象,直接用hashtable或类似方式查询。hashtable之类的查询速度应该算很快的,而且和数据的多数没有太大(也不是完全没有关系,但是远小于线性关系)关系,其算法的主要速度取决于产生hashcode的速度。 StringDictionary myCol = new StringDictionary();myCol.Add( "ZY", "专业" );//……string key = "ZY";string 汉字 = myCol[key];//专业 StringDictionary myCol可以声明为类成员,在程序启动时就初始化 只要词典不复杂,直接读到内存即可。如果词典过大。可以建立索引,比如a~z为一级索引。让后再有:a,ao,ba,bi..... 从实际看 直接用.net里的 字典类 好了 winform一个最大化和最小化窗体的位置求解 程序中如何获取影片的码率 treeView的问题,急 金质打印通中是如何控制excel边框的 关于datagrid数据更新,大家帮忙来看一下吧 新手的疑问 各位大神请指导下小弟 求助:关于GDI+的问题 System.Net.WebRequest 和System.Net.HttpWebRequest 经常使用哪一个,为什么? C#中操作PowerPoint 能不能将一个ppt中的页复制到另一个ppt中 在一個類中怎么得到我當前的路徑? 为什么我用C#写的WINDOWS程序, 随着运行时间的推移.占用内存越来越大
System.Collections.Specialized.StringDictionary
其键被强类型为字符串,效率高些
myCol.Add( "ZY", "专业" );
//……
string key = "ZY";
string 汉字 = myCol[key];//专业
如果词典过大。可以建立索引,比如a~z为一级索引。让后再有:a,ao,ba,bi.....