您好,欢迎来到纷纭教育。
搜索
您的当前位置:首页算法分析与设计习题集

算法分析与设计习题集

来源:纷纭教育
序号 项目名称 任务描述 设计要求 1. C语言词法分析算法设计与实现 编制一个读单词过程,从输入的源程序中,识别出各个具有用Java语言,或者C语意义的单词,即基本保留字、标识符、常数、运算符、言,推荐用Java语言。完成所要有的C语言词分隔符五大类。 法分析器。 输入:一段C语言程序 要求:读文件,或者命令输出:每个单词以及每个单词所在行号 行的形式读取C源程序,输出源程序中每个单词比如:输入如下一段C程序 以及每个单词所在行号。 main() { 要求:开发出图形化界int a,b; 面,读文件,把结果输出} 到界面上。 输出为: ( mian, ”line=1”); ( ( , ”line=1“); ( ) , ”line=1”); ({ , ”line=2” ); ( int, “line=2”); „„„„„ 2. 行程编Run-Length Encoding(RLE)行程长度的原理是将一扫描行利用C语言,或者Java码的设中的颜色值相同的相邻像素用一个计数值和那些像素的颜语言,完成算法对图像的计与实色值来代替。例如:aaabccccccddeee,则可用3a1b6c2d3e来行程编码. 代替。对于拥有大面积,相同颜色区域的图像,用RLE压现 设计一个GUI界面,能缩方法非常有效。 够接受图像,输出图像的算法输入:图像 形成编码序列 算法输出:图像行程编码序列 3. 特征权重排序信息增益算法的设计与实现 在文本分类领域中,信息增益IG是一种常用的特征排序算 利用Java语言实现样本法的标准。要求利用信息增益公式计算每个特征的信息增益中特征信息增益的计算,然后根据信息增益值从值,并根据信息增益值从大到小输出。 大到小排序。 举例如下: 假设文本中包括的特征: outlook {sunny, overcast, rainy}// 晴天、多云、下雨 temperature {hot, mild, cool} // 热、温和的、冷 humidity {high, normal} // high表示潮湿、normal表示正常 windy {Strong, weak} // TRUE表示有风、FALSE表示无风 play {yes, no} yes表示打网球,no表示不打网球 假设有14个样本如下: 1 , Sunny , Hot , High , Weak , No 2 , Sunny , Hot , High , Strong , No 3 , Overcast , Hot , High , Weak , Yes 4 , Rain , Mild , High , Weak , Yes 5 , Rain , Cool , Normal , Weak , Yes 6 , Rain , Cool , Normal , Strong , No 7 , Overcast , Cool , Normal , Strong , Yes 8 , Sunny , Mild , High , Weak , No 9 , Sunny , Cool , Normal , Weak , Yes 10 , Rain , Mild , Normal , Weak , Yes 11 , Sunny , Mild , Normal , Strong , Yes 12 , Overcast , Mild , High , Strong , Yes 13 , Overcast , Hot , Normal , Weak , Yes 14 , Rain , Mild , High , Strong , No 每一个样本中5个数据值分别表示上面5个特征的取值。显然样本中有两个类,正例(play=yes)有9个,负例(play=no)有5个。用s表示样本(Sample)。那么样本熵的公式 Entropy(S) =-(p+)*log(p+)-(p-)*log(p-) 其中,p+、p-分别为正例和负例占总记录的比例 显然Entrop(S)= -(9/14)*log2(9/14)-(5/14)*log2(5/14) 我们以属性Weak为例计算Weak的信息增益: 样本中属性Wind中取值为Weak的记录有样本的记录有,其中正例6个,负例2个;同样,取值为Strong的记录6个,正例负例各3个。我们可以计算相应的熵为:Entropy(Weak)=-(6/8)*log(6/8)-(2/8)*log(2/8)=0.811 Entropy(Strong)=-(3/6)*log(3/6)-(3/6)*log(3/6)=1.0 那么wind 的信息增益为: Gain(Wind)=Entropy(S)-(8/14)*Entropy(Weak)-(6/14)*Entropy(Strong)=0.940-(8/14)*0.811-(6/14)*1.0=0.048 同理方法计算出其他属性的信息增益。最后得到5个属性的信息增益如下:Gain(Wind)=0.048 ;Gain(Humidity)=0.151 ; Gain(Outlook)=0.247 ;Gain(Temperature)=0.029 那么根据信息增益大小特征排序的顺序为: Outlook ,Humidity, Wind,Temperature 例题的详细请参考:http://johnthu.spaces.live.com/blog/cns!2053CD511E6D5B1E!130.entry 4. 蛇形矩生成一个按蛇形方式排列自然数1,2,3,4,5,„„,N2实现一个图形化界面,接阵算法的(1附录: 图1 易阵玩具 图2 盘式智力五环玩具 图3 盘式数字智力五环玩具 图4 35迷宫玩具

图5 直列式数字智力五环玩具 图6 直列式智力五环玩具

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- fenyunshixun.cn 版权所有 湘ICP备2023022495号-9

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务