程序描繪人生
知識改變命運,學習成就未來。
C++博客
新隨筆
聯系
聚合
管理
隨筆 - 89 文章 - 118 trackbacks - 0
<
2010年7月
>
日
一
二
三
四
五
六
27
28
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
留言簿
(16)
給我留言
查看公開留言
查看私人留言
隨筆分類
(56)
C++(3)
hadoop(1)
NodeJS(1)
NSIS安裝包(1)
Windows開發(2)
電子支付
高性能服務器(1)
架構設計(5)
搜索引擎(8)
算法(12)
研發管理(15)
轉載(7)
隨筆檔案
(89)
2018年6月 (1)
2018年2月 (1)
2017年5月 (1)
2017年1月 (1)
2016年7月 (1)
2016年5月 (1)
2016年1月 (1)
2015年12月 (1)
2015年2月 (1)
2014年8月 (1)
2014年5月 (4)
2014年2月 (1)
2013年11月 (3)
2013年9月 (3)
2013年8月 (4)
2013年6月 (1)
2013年5月 (1)
2013年4月 (1)
2013年2月 (1)
2012年12月 (15)
2012年11月 (6)
2012年10月 (1)
2012年9月 (2)
2012年8月 (1)
2012年3月 (2)
2011年12月 (1)
2011年11月 (1)
2011年9月 (1)
2011年8月 (1)
2011年7月 (1)
2011年5月 (1)
2010年12月 (1)
2010年9月 (1)
2010年8月 (2)
2010年7月 (1)
2010年3月 (1)
2009年12月 (2)
2009年11月 (2)
2008年9月 (1)
2008年8月 (4)
2008年7月 (3)
2008年5月 (1)
2008年4月 (1)
2008年3月 (2)
2008年2月 (2)
2007年12月 (2)
2007年9月 (1)
文章分類
C++
技術隨筆
推薦博客
在你身邊
胡滿超的非技術博客
搜索
最新隨筆
1.?LeetCode – Median of Two Sorted Arrays - findMedianSortedArrays
2.?深入淺出LSH
3.?LSH Locality-Sensitive Hashing 局部敏感哈希算法總結
4.?R語言預測實戰源代碼 Predictive Practice With R source code
5.?程序員如何轉型做大數據
6.?實戰java高并發程序設計 源代碼 source code
7.?spark機器學習 源代碼 Machine Learning With Spark source code
8.?機器學習算法原理與編程實踐 代碼下載地址
9.?轉: 國標一級和國標二級漢字
10.?軟件架構設計要點
11.?Exception in thread "main" java.lang.ClassNotFoundException: WordCount
12.?轉:高性能服務端編程知識點梳理圖解
13.?nodejs socket is connect
14.?轉:CTime與CString相互轉化
15.?轉:一個故事告訴你比特幣的原理及運作機制
16.?這就是搜索引擎-筆試6-鏈接分析
17.?這就是搜索引擎-筆試5-檢索模型與搜索排序
18.?這就是搜索引擎-筆試4-索引壓縮
19.?這就是搜索引擎-筆試3-搜索引擎索引
20.?這就是搜索引擎-筆試2
最新評論
1.?re: 迷宮最短路徑問題解析
@rover
這個是C++模板
--胡滿超
2.?re: 迷宮最短路徑問題解析
stack<Postion> path__;
這個里面 ”<> “符號是什么意思?我在C++語言里面沒見過呢? 初學者,大神勿噴。
--rover
3.?re: 機器學習算法原理與編程實踐 代碼下載地址
跪謝大神了,幫了我很多
--naomi
4.?re: 如何在NSIS中執行BAT文件
@humanchao
我想試試軟件
--舒
5.?re: 判斷單鏈表是否存在環,判斷兩個鏈表是否相交問題詳解
n只可能是1
--lookdown
6.?re: 判斷單鏈表是否存在環,判斷兩個鏈表是否相交問題詳解
當fast若與slow相遇時,slow肯定沒有走遍歷完鏈表@科匠
那有沒有可能slow已經走了多于一圈了呢?
--gqqnbig
7.?re: 迷宮最短路徑問題解析
。。。。。。。。
--11
8.?re: 轉:CTime與CString相互轉化
看起來很簡練啊 @楊粼波
--胡滿超
9.?re: 轉:CTime與CString相互轉化
評論內容較長,點擊標題查看
--楊粼波
10.?re: VC取得目錄大小[未登錄]
GetDiskFreeSpaceEx獲得的是驅動器實際占用的空間,而下面代碼獲得的是目錄大小,請問如何獲得目錄實際占用的空間? sinee3000@sina.com
--xy
閱讀排行榜
1.?判斷單鏈表是否存在環,判斷兩個鏈表是否相交問題詳解(34822)
2.?機器學習算法原理與編程實踐 代碼下載地址(25478)
3.?spark機器學習 源代碼 Machine Learning With Spark source code(23246)
4.?實戰java高并發程序設計 源代碼 source code(21426)
5.?轉:幾種MFC對話框的隱藏方法(10825)
6.?單鏈表逆序輸出(10380)
7.?VC中取得毫秒級的時間(9844)
8.?迷宮最短路徑問題解析(8906)
9.?深入淺出LSH(8896)
10.?Exception in thread "main" java.lang.ClassNotFoundException: WordCount(7538)
字符串常見算法之一:查找一個短串在一個長串中位置
介紹的一些字符串處理的問題在日常編程中比較常見,但是在大學讀書的時候幾乎一個都沒有涉及,最近學習了一下在這里介紹給大家,僅供參考。
這些算法與內容包括:
1、 查找一個短串在一個長串中位置;
2、 查找一個字符串中最長的重復子串;
3、 查找一個字符串中重復最多的子串;
4、 兩個字符串最長的公共子串(連續);
5、 兩個字符串最長的公共子序列(不連續);
6、 介紹一種強大的數據結構,Suffix tree.
這里有一個PPT:
http://m.shnenglu.com/Files/humanchao/StringAlg.zip
-------------------------------------------------
查找一個短串在一個長串中位置
這個問題傳統的解法時間復雜度為O(m*n),m、n為兩個串的長度。有一個Sunday算法,可以最大限度的優化這個比較過程,原理如下:
1、建立一個hash table,依次把search各個字符值作為table索引,為table相應的位置一個值(表示字符存在),如果出現重復,后面的位置會覆蓋前面的位置。
例:我們要在"WHICH-FINALLY-HALTS.—AT-THAT-POINT"(簡稱string)查找" AT-THAT "(簡稱pat),剛開始時,把pat與string對齊,查看串string中與串pat 相對應的字符(F),在pat的位置,這個查找的過程時間復雜度通過hash table的下標索引為 O(1):
2、如果發現沒有,說明字符F之前已經無法與pat匹配,直接跳到position(F)+stringlength(pat)
3、發現”-”在pat位置3,于是重新定位對齊兩串為:
4、倒序(從最后一個向前)比較兩串,發現無法匹配,繼續跳轉->查找->定位
因為上面已經有一個T匹配成功,這次要從HALTS的S來查找,于是定位為:
5、上圖無法匹配,從”--AT-“中A后的”-”繼續查找,重復上過程,最終匹配如圖:
這個算法關鍵點:
1、建立為pat建立hash表,以提高查找字符的速度;
2、對齊跳轉,快速的后移比較,使比較次數減少。
具體的代碼實現可以參考鏈接:
http://blog.csdn.net/unicode1985/archive/2007/05/30/1631038.aspx
posted on 2009-11-25 17:20
胡滿超
閱讀(3138)
評論(0)
編輯
收藏
引用
只有注冊用戶
登錄
后才能發表評論。
【推薦】100%開源!大型工業跨平臺軟件C++源碼提供,建模,組態!
網站導航:
博客園
IT新聞
BlogJava
博問
Chat2DB
管理
Copyright ©2025 胡滿超 Powered by:
博客園
模板提供:
滬江博客
久久亚洲精精品中文字幕
|
国产精品久久午夜夜伦鲁鲁
|
久久福利青草精品资源站
|
久久亚洲精品中文字幕三区
|
国产精品一区二区久久精品无码
|
精品久久国产一区二区三区香蕉
|
久久久久久久综合日本
|
亚洲精品午夜国产VA久久成人
|
久久久久女人精品毛片
|
久久综合精品国产一区二区三区
|
久久久国产99久久国产一
|
精品久久久无码21p发布
|
日本久久久久久中文字幕
|
久久免费视频6
|
久久66热人妻偷产精品9
|
欧美日韩精品久久久免费观看
|
蜜臀av性久久久久蜜臀aⅴ麻豆
|
国产真实乱对白精彩久久
|
久久精品国产亚洲AV无码娇色
|
久久天天躁狠狠躁夜夜躁2O2O
|
99久久伊人精品综合观看
|
久久久噜噜噜久久中文福利
|
青青草原综合久久大伊人导航
|
久久精品人成免费
|
女人高潮久久久叫人喷水
|
久久播电影网
|
久久这里只精品国产99热
|
99国产欧美精品久久久蜜芽
|
99久久无色码中文字幕人妻
|
色悠久久久久久久综合网
|
亚洲嫩草影院久久精品
|
9久久9久久精品
|
久久99精品久久久久久动态图
|
免费无码国产欧美久久18
|
久久99精品久久久久久噜噜
|
久久精品国产亚洲欧美
|
国产精品久久久久影院色
|
久久国产精品久久
|
亚洲国产精品久久久久
|
精品久久久久久久中文字幕
|
国产日韩欧美久久
|