欢迎来到天天文库
浏览记录
ID:59413813
大小:480.50 KB
页数:91页
时间:2020-09-19
《Windows程序设计-第3章设计与实现ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Windows程序设计第3章设计与实现谢晓芹1Windows程序设计主要内容引言马尔可夫链算法数据结构的选择在C中构造数据结构生成输出Java性能经验教训2Windows程序设计主要内容引言马尔可夫链算法数据结构的选择在C中构造数据结构生成输出Java性能经验教训3Windows程序设计引言给我看你的流程图而藏起你的表,我将仍然是莫名其妙。如果给我你的表,那么我将不再要你的流程图,因为它们太明显了。—FrederickP.Brooks,Jr.,《人月神话》数据结构设计是程序构造过程的中心环节。一旦数据结构安排好了,算法就像是瓜熟蒂落,编码也比较容易。数据结构->
2、算法->编码4Windows程序设计引言目的组合基本构件,来设计和实现一个中等规模的程序。了解被处理的问题如何影响数据结构.介绍不同的语言实现,了解不同的实现方案和语言的优缺点.5Windows程序设计引言几个观点一旦数据结构安排好了,算法就像是瓜熟蒂落,编码也比较容易。程序设计语言的选择在整个设计过程中,相对而言,并不是那么重要。程序的设计当然可以通过语言来装饰,但是通常不会为语言所左右。通过抽象地设计样例程序,由不同实现之间的比较,可以看出语言在这里能有什么帮助或者妨碍,以及它们并不那么重要的各种情况。6Windows程序设计Themes“Oncetheda
3、tastructuresarelaidout,thealgorithmstendtofallintoplace,andthecodingiscomparativelyeasy”Thechoiceofprogramminglanguageisrelativelyunimportanttotheoveralldesign.Comparingimplementationsdemonstrateshowlanguagescanhelporhinder,andwaysinwhichtheyareunimportant.7Windows程序设计引言-案例的选择问题(Prob
4、lem)产生一些随机的可以读的英语文本编程(Program)典型的基本形式:一些数据进去,另一些数据出来,其处理过程并不依赖于多少独创性实现(Implementations)C,C++,Java,Perl8Windows程序设计TopicsProblem:GeneraterandomEnglishtextthatreadswell.Program:somedatacomesin,somedatagoesout,andtheprocessingdependsonalittleingenuity.Implementations:C,C++,Java,Perl9Win
5、dows程序设计引言-FailedAttempts随便扔出来一些随机字母或随机的词一个随机选取字母(以及空格,用作词之间的分隔)的程序可能产生:xptmxgnxusajaafqnzgxllhidlwcdrjdjuvpydrlwnjy从字典里随机选择词的方式polydactylequatorialsplashilyjowlverandabcircumscribe10Windows程序设计引言-方案更好的结果需要一个带有更多内在结构的统计模型(例如包含着各短语出现频率的)用任何一个现成的某种语言的文本,可以构造出由这个文本中的语言使用情况而形成的统计模型。(训练)通
6、过该模型生成的随机文本将具有与原文本类似的统计性质。(技能)马尔可夫链算法如何得到统计模型?11Windows程序设计FailedAttemptsGeneraterandomletters(evenwithproperfrequency.GeneraterandomwordschosenfromadictionaryNeedastatisticalmodelwithmorestructure(frequencyofwholephrases)12Windows程序设计主要内容引言马尔可夫链算法数据结构的选择在C中构造数据结构生成输出Java性能经验教训13Wind
7、ows程序设计马尔可夫链算法基本思想将输入想像成由一些互相重叠的短语构成的序列,该算法把每个短语分割为两个部分:一部分是由多个词构成的前缀,另一部分是只包含一个词的后缀。马尔可夫链算法能够生成输出短语的序列,其方法是依据原文本的统计性质,随机性地选择跟在前缀后面的特定后缀。输入词序列蕴含前缀->后缀关系输出输出短语序列统计特性随机选取14Windows程序设计马尔可夫链算法采用三个词的短语——利用连续两个词构成的前缀来选择作为后缀的一个词:设置w1和w2为文本的前两个词输出w1和w2循环:随机地选出w3,它是文本中w1w2的后缀中的一个打印w3把w1和w
8、2分别换成w2和w3重复
此文档下载收益归作者所有