logo资料库

蛮力法,用蛮力法解决问题.ppt

第1页 / 共30页
第2页 / 共30页
第3页 / 共30页
第4页 / 共30页
第5页 / 共30页
第6页 / 共30页
第7页 / 共30页
第8页 / 共30页
资料共30页,剩余部分请下载后查看
第3章 蛮力法
蛮力法 v 蛮力法就是一种简单直接地解决问题的方法, 常常直接基于问题的描述和所涉及的概念定义。 v 一般来说,蛮力法是最容易应用的方法 v 蛮力法的意义  可以解决广阔领域的各种问题(他可能是唯一一 种几乎什么问题都能解决的一般性方法)  对于一些重要的问题(如排序,查找,矩阵乘法 和字符串匹配)可以产生一些合理的算法  如果问题规模不大,而且蛮力法可用一种能够接 受的速度求解,那么设计一个更高效的算法所花费 的代价很可能是不值得的  可以解决小规模的问题
选择排序 void SelectionSort(A[0,…,n-1]) { n-2 n-1 |89 45 68 90 34 17 C(n)=∑ ∑ 1 for(i=0;i
冒泡排序 void BubbleSort(A[0,…n-1]) { for(i=0;i
顺序查找 int SeqSearch(A[0,…,n-1],int k) { A[n]=k;//设立一个哨兵 i=0; while(A[i]!=k) if(i
字符串匹配 v给定一个n个字符组成的串,称为 文本 v一个m(m≤n)个字符的串,称为模式, 从文本中寻找匹配模式的子串 v精确地说,求的是i,即文本中第一 个匹配子串最左元素的下标
字符串匹配 v 文本T:t0 … ti … ti+j … ti+m-1 … tn-1 v 模式P: p0 … pj … pm-1 v 字符串匹配问题的蛮力算法:将模式对 准文本的前m个字符,然后从左到右匹 配每一对相应的字符,直到m对字符全 部匹配,或者遇到一对不匹配的字符。 v 对于后一种情况,文本向后移一位,然 后从模式的第一个字符开始重新匹配。
字符串匹配 N O B O D Y _ N O T I C E D _ H I M N O T N O T N O T N O T N O T N O T N O T N O T
分享到:
收藏