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

FireEmissary

  C++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
  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然后調(diào)用自己直到成功或s到了尾部:  
             while(*p=='*')++p;             do              {                   if(isMatchC(s, p))                 {  return true;                 }               
            }  
while(*++s);             return isMatchC(s, p); 
算法很易懂;但沒找到證明感覺如芒在背.想了很久沒發(fā)現(xiàn)怎么證明貪心法是"最優(yōu)"的辦法.
但后來想想證明最優(yōu)干嘛?其實只要證明比遞歸版本效率并和它一樣正確就行了....
證明如下:
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之間子串不匹配

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

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


  
 


posted on 2016-03-17 12:48 FireEmissary 閱讀(1311) 評論(0)  編輯 收藏 引用

只有注冊用戶登錄后才能發(fā)表評論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲国产精品传媒在线观看| 在线视频欧美一区| 久久一区二区三区国产精品| 亚洲女女女同性video| 国产精品久久婷婷六月丁香| 欧美一区二区视频网站| 欧美在线视频日韩| 一区一区视频| 亚洲人被黑人高潮完整版| 欧美日韩小视频| 欧美一级二级三级蜜桃| 久久一区二区三区四区五区| 亚洲免费精彩视频| 亚洲欧美成aⅴ人在线观看| 在线观看成人网| 亚洲精品一区二区三区樱花 | 欧美国产高潮xxxx1819| 欧美久久久久久| 欧美一区三区二区在线观看| 久久久久久久97| 中文亚洲视频在线| 久久精品一区| 亚洲永久精品大片| 久久久久久网| 亚洲欧美日韩视频二区| 久久影院午夜论| 亚洲欧美在线免费观看| 女仆av观看一区| 久久精品av麻豆的观看方式| 欧美激情第9页| 久久―日本道色综合久久| 欧美精品一区二区三区在线看午夜 | 欧美高清成人| 国产精品毛片a∨一区二区三区|国| 久久婷婷麻豆| 国产精品美女久久福利网站| 亚洲丰满少妇videoshd| 国产亚洲成av人片在线观看桃| 亚洲黄色小视频| 国产在线乱码一区二区三区| 日韩一区二区精品在线观看| 精品盗摄一区二区三区| 亚洲欧美中文在线视频| 99精品国产在热久久婷婷| 久久午夜精品一区二区| 欧美在线观看天堂一区二区三区| 欧美激情一区| 欧美www视频| 国产亚洲欧洲一区高清在线观看| 99综合电影在线视频| 亚洲精品美女在线观看播放| 久久久噜噜噜久久中文字免| 久久精品成人一区二区三区| 国产精品久久久久久久久久直播| 亚洲精选在线| 亚洲美女中文字幕| 欧美国产欧美亚洲国产日韩mv天天看完整 | 久久精品中文字幕免费mv| 欧美午夜影院| 亚洲最新在线| 亚洲午夜精品17c| 欧美日韩午夜剧场| av72成人在线| 亚洲一区在线观看视频| 欧美视频久久| 亚洲午夜成aⅴ人片| 午夜精品久久| 国产亚洲一区二区三区在线播放| 午夜亚洲福利| 久久人人97超碰国产公开结果| 国产在线视频不卡二| 久久精品二区| 欧美成人精品| 99综合在线| 国产精品永久免费观看| 亚洲欧美综合另类中字| 久久人人爽人人| 亚洲区免费影片| 欧美美女福利视频| 亚洲一区二区三区中文字幕在线| 午夜视频一区在线观看| 国产亚洲福利社区一区| 久热re这里精品视频在线6| 亚洲福利国产精品| 亚洲一区在线免费观看| 国产无一区二区| 女人天堂亚洲aⅴ在线观看| 亚洲黄一区二区三区| 亚洲一区二区三区四区五区午夜| 国产精品久久久久久久久免费桃花 | 亚洲综合色网站| 免费中文日韩| 一片黄亚洲嫩模| 国产精品羞羞答答| 久久躁狠狠躁夜夜爽| 91久久精品国产91性色tv| 国产精品99久久久久久人| 国产欧美日韩视频一区二区三区| 久久久99精品免费观看不卡| 亚洲大片av| 亚洲欧美中文字幕| 亚洲国产精品久久久久秋霞影院| 欧美日韩综合在线免费观看| 久久av红桃一区二区小说| 亚洲国产精品va在线看黑人| 欧美亚洲一区二区三区| 亚洲人成网站色ww在线| 国产日韩欧美二区| 欧美日韩精品一本二本三本| 久久国产精品一区二区三区| 99国产麻豆精品| 免费在线观看精品| 午夜精品久久久久久久99热浪潮| 尤物yw午夜国产精品视频明星 | 久久国产精品99久久久久久老狼| 亚洲国产成人精品女人久久久| 久久精品99国产精品日本| 99国产精品久久久久久久成人热| 好吊成人免视频| 国产精品三级久久久久久电影| 免费在线观看成人av| 久久经典综合| 亚洲欧美三级在线| 亚洲无线视频| 亚洲人久久久| 亚洲国产成人精品视频| 狼狼综合久久久久综合网| 欧美一级久久久久久久大片| 亚洲少妇诱惑| 99亚洲精品| 亚洲精品国产欧美| 樱桃视频在线观看一区| 国产亚洲精品bv在线观看| 国产精品www色诱视频| 欧美日本高清一区| 欧美大片免费久久精品三p| 久久久久九九九| 久久青草久久| 免费人成精品欧美精品| 久久综合图片| 看欧美日韩国产| 免播放器亚洲| 欧美激情二区三区| 欧美日韩伦理在线| 欧美日韩亚洲一区| 欧美三级视频在线播放| 欧美午夜宅男影院在线观看| 国产精品99免视看9| 国产精品视频久久久| 国产精品日日摸夜夜摸av| 国产乱码精品一区二区三区五月婷 | 欧美电影在线免费观看网站| 欧美国产成人精品| 欧美日韩国产精品一区| 欧美视频一二三区| 国产欧美二区| 悠悠资源网久久精品| 91久久精品日日躁夜夜躁欧美 | 亚洲国产婷婷| 99在线精品观看| 亚洲一区二区三区四区视频| 欧美中文在线字幕| 久久综合婷婷| 亚洲精品国产精品乱码不99按摩| 9色porny自拍视频一区二区| 亚洲网站视频| 久久亚洲精品网站| 欧美v日韩v国产v| 欧美日韩一区二区三区四区在线观看| 国产精品老牛| 永久免费精品影视网站| av不卡在线看| 久久精品女人| 亚洲第一搞黄网站| 亚洲一区一卡| 欧美成人伊人久久综合网| 欧美午夜大胆人体| 狠狠色丁香久久婷婷综合丁香| 亚洲欧洲精品一区二区三区波多野1战4| 一本色道精品久久一区二区三区| 久久激情综合| 91久久精品国产| 亚洲欧美日韩一区二区三区在线观看 | 久久久久一区二区三区四区| 亚洲黄一区二区| 性欧美18~19sex高清播放| 欧美成人精品一区二区三区| 国产精品亚洲综合久久| 亚洲激情视频在线| 久久久www免费人成黑人精品| 亚洲国产精品女人久久久| 午夜综合激情| 欧美视频中文字幕| 亚洲区欧美区| 蜜桃久久av| 欧美一级播放| 国产伦理精品不卡| 亚洲无线观看| 亚洲精选中文字幕| 欧美成人xxx|