青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

FireEmissary

  C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
  14 隨筆 :: 0 文章 :: 20 評論 :: 0 Trackbacks
Implement wildcard pattern matching with support for '?' and '*'.
'?' Matches any single character.
'*' Matches any sequence of characters (including the empty sequence).

The matching should cover the entire input 
string (not partial).

The function prototype should be:
bool isMatch(const char *s, const char *p)

Some examples:
isMatch(
"aa","a") → false
isMatch(
"aa","aa") → true
isMatch(
"aaa","aa") → false
isMatch(
"aa""*") → true
isMatch(
"aa""a*") → true
isMatch(
"ab""?*") → true
isMatch(
"aab""c*a*b") → false
貪心算法就是遇到*開始記錄位置并不斷嘗試匹配,開始*匹配0字符失敗后*匹配1字符再試,匹配到下一個*就終止了又開始記錄位置后嘗試匹配...
bool isMatch(string s, string p) {
        
return isMatchB(s.c_str(),p.c_str());
    }
    
 
bool isMatchB(const char *s, const char *p) {
           
const char* star=nullptr;  
            
const char* ss=nullptr;   
            
while (*s){  
                
if ((*p=='?')||(*p==*s)){++s;++p;continue;}  
                
if (*p=='*'){star=++p; ss=s;continue;}  
                
if (star){ p = star; s=++ss;}  
                
else return false;  
            }  
            
while (*p=='*'){++p;}  
            
return !*p;  

    }
遞歸版本卻是碰到*后從0開始遞增s然后調用自己直到成功或s到了尾部:  
             while(*p=='*')++p;             do              {                   if(isMatchC(s, p))                 {  return true;                 }               
            }  
while(*++s);             return isMatchC(s, p); 
算法很易懂;但沒找到證明感覺如芒在背.想了很久沒發現怎么證明貪心法是"最優"的辦法.
但后來想想證明最優干嘛?其實只要證明比遞歸版本效率并和它一樣正確就行了....
證明如下:
base
1.模式p里沒有*,平凡的匹配,遞歸版本和貪心版本一樣效率.
2.模式p里一個*,遞歸版遞歸后的匹配和貪心版本(畢竟貪心版本不會碰到*了)算法一樣.
3.模式p有兩個*
   p: same*abc*xxxxxx. (x代表任意字符和?)
  s: same....abcxxxxxxx (.代表任意不含abc的字符x代表任意字符)
貪心版本匹配到第二個*后s剩下abc后面部分,第二個*可以任意擴展使得后段的x匹配為止
遞歸版本碰到第一個*后遞歸求abc*xxxxxxx與....abcxxxxxxx匹配
看起來和貪心版本一樣效率,不效率的地方就在于:匹配失敗后貪心版本就失敗了而遞歸版本屁顛顛的又挪動s到下一個試圖匹配,
遞歸版本不會成功的,因為第二個*失敗就說明了后段的xxxxx之間子串不匹配

現在假設模式p有k個*且貪心版本更效率且一樣正確.
4.p有k+1個*.
   p: xxxx*abc*...... (.代表任意字符和*)
   s: xxxx....abcdef..... (.代表任意不含abc的字符)
在第二個*之前使用貪心算法,匹配完畢碰到第二個*轉調用遞歸版本的話,開頭匹配情況落入base 1和base 2.遞歸版本則處理:
p: *.....
s: def.....
即落入假設模式里k個*里換用貪心版本更優秀且正確的情況里了

這樣的話就歸納證明了貪心版本在正確匹配時不比遞歸版本差;在失敗時比遞歸版本效率.


  
 


posted on 2016-03-17 12:48 FireEmissary 閱讀(1306) 評論(0)  編輯 收藏 引用
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美在线地址| 另类春色校园亚洲| 亚洲一区二区三区精品在线观看 | 国产精品视频| 蜜桃av一区二区| 国产精品一区二区久久精品| 久久综合久色欧美综合狠狠| 女人天堂亚洲aⅴ在线观看| 久久九九国产| 99伊人成综合| 亚洲第一天堂av| 亚洲一区激情| 欧美激情欧美狂野欧美精品| 猫咪成人在线观看| 亚洲免费精品| 久久久久久亚洲精品中文字幕 | 欧美激情第六页| 欧美日韩蜜桃| 国产一区二区三区丝袜| 在线观看一区视频| 亚洲理论在线观看| 亚洲欧美成人在线| 久久久一区二区| 亚洲午夜一级| 欧美午夜免费| 亚洲欧美精品在线观看| 亚洲欧美日韩精品一区二区 | 日韩视频在线你懂得| 亚洲影音一区| 亚洲小说欧美另类社区| 欧美日韩在线高清| 欧美日本一区二区视频在线观看| 久久久久久一区二区| 国产精品手机在线| 亚洲区国产区| 久久夜色精品国产亚洲aⅴ| 夜夜嗨网站十八久久| 欧美大尺度在线| 亚洲精品欧美精品| 欧美高清不卡| 久久亚洲影音av资源网| 国产欧美日韩免费| 99re视频这里只有精品| 欧美a级片网| 欧美激情片在线观看| 日韩小视频在线观看专区| 91久久夜色精品国产九色| 免费日韩视频| 亚洲欧美制服中文字幕| 亚洲欧美视频在线观看视频| 国产日韩欧美日韩大片| 另类尿喷潮videofree| 欧美国产极速在线| 亚洲小视频在线观看| 亚洲欧美美女| 99这里只有久久精品视频| 亚洲午夜激情免费视频| 影音先锋日韩有码| 99视频一区| 亚洲国产高清在线观看视频| 亚洲伦理一区| 亚洲欧洲一区二区在线播放| 午夜国产精品视频| 日韩亚洲视频在线| 欧美在线视屏| 亚洲欧美欧美一区二区三区| 欧美粗暴jizz性欧美20| 老司机一区二区| 国产偷国产偷精品高清尤物| 亚洲国产成人午夜在线一区| 欧美永久精品| 欧美伊久线香蕉线新在线| 免费观看成人鲁鲁鲁鲁鲁视频| 在线日韩欧美视频| 亚洲一区国产视频| 一区二区三区视频观看| 欧美成人精品h版在线观看| 免费久久精品视频| 亚洲国内欧美| 欧美激情一二三区| 亚洲电影免费观看高清完整版在线观看 | 国产精品久久久久久久久婷婷| 亚洲大片一区二区三区| 亚洲国产欧美一区| 欧美不卡激情三级在线观看| 久久综合亚州| 亚洲国产一区在线观看| 欧美韩日视频| 欧美一区二区视频免费观看 | 国产一区美女| 久久久精品视频成人| 亚洲精品免费一二三区| 午夜国产精品视频| 亚洲第一级黄色片| 欧美三级精品| 久久国产日韩| 亚洲视频网在线直播| 久久久久综合网| 一区二区三区高清在线| 精品电影在线观看| 国产精品永久免费在线| 欧美黄色一区| 久久亚洲综合色| 中文在线资源观看视频网站免费不卡| 欧美天堂亚洲电影院在线观看| 久久精品亚洲一区二区| 亚洲尤物视频网| 99精品视频免费全部在线| 六月婷婷久久| 久久综合网hezyo| 久久精品国产免费| 久久激情久久| 久久亚洲捆绑美女| 久久久777| 久久精品亚洲国产奇米99| 午夜久久资源| 久久精品国产欧美亚洲人人爽| 亚洲在线播放电影| 午夜精品成人在线| 久久精品99无色码中文字幕| 久久精品毛片| 亚洲国产精品欧美一二99| 亚洲成在线观看| 夜夜嗨av色综合久久久综合网| 亚洲一区二区三区中文字幕| 亚洲欧美日韩国产| 久久久夜色精品亚洲| 欧美美女日韩| 国产欧美一区二区三区沐欲| 激情偷拍久久| 亚洲欧美日韩网| 免费观看成人鲁鲁鲁鲁鲁视频| 最新国产精品拍自在线播放| 亚洲综合999| 欧美高清视频一二三区| 国产精品亚洲网站| 99视频精品在线| 蜜桃av一区二区| 亚洲视频网在线直播| 欧美激情亚洲自拍| 伊人久久婷婷| 久久精品亚洲精品| 亚洲自拍偷拍色片视频| 欧美国产日韩xxxxx| 亚洲无线观看| 欧美日韩国产综合一区二区| 伊人久久大香线蕉综合热线| 欧美一区二区日韩一区二区| 亚洲乱码久久| 欧美激情一区二区三区全黄| 伊甸园精品99久久久久久| 久久久国产精彩视频美女艺术照福利| 亚洲精品日日夜夜| 欧美—级在线免费片| 91久久精品国产91性色| 麻豆精品网站| 噜噜噜在线观看免费视频日韩| 精品二区视频| 蜜臀a∨国产成人精品| 欧美一区二区大片| 激情六月婷婷久久| 欧美成人三级在线| 欧美男人的天堂| 亚洲欧美国产另类| 久久精品国产精品亚洲| 在线观看三级视频欧美| 欧美福利小视频| 欧美日韩视频不卡| 久久精品三级| 欧美日韩黄视频| 久久精品中文字幕免费mv| 免费日本视频一区| 性欧美长视频| 欧美成人精品在线| 新67194成人永久网站| 久久久91精品国产一区二区三区| 亚洲电影av| 欧美一二三视频| 亚洲影音一区| 欧美日韩高清在线观看| 久久综合国产精品| 国产日韩在线亚洲字幕中文| 欧美激情乱人伦| 黄色工厂这里只有精品| 午夜在线一区| 亚洲免费在线观看视频| 久久久久久网址| 亚洲欧美第一页| 欧美午夜激情在线| 一本色道久久88精品综合| 欧美freesex交免费视频| 亚洲一二三四区| 亚洲一区二区三区四区中文 | 久久综合中文字幕| 久久国产精品网站| 国产精品日韩欧美一区二区| 91久久在线视频| 一本久久a久久精品亚洲| 欧美第一黄色网| 亚洲人午夜精品|