程序描繪人生
知識改變命運,學習成就未來。
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:
博客園
模板提供:
滬江博客
国产精品久久久久久久久免费
|
婷婷五月深深久久精品
|
久久精品九九亚洲精品天堂
|
丁香五月网久久综合
|
精品久久久久久久中文字幕
|
久久久中文字幕日本
|
久久亚洲精品成人AV
|
99久久免费国产精品
|
亚洲综合久久夜AV
|
avtt天堂网久久精品
|
女同久久
|
青青国产成人久久91网
|
欧美日韩精品久久久久
|
精品九九久久国内精品
|
2021最新久久久视精品爱
|
久久最近最新中文字幕大全
|
亚洲va久久久噜噜噜久久天堂
|
国产成人精品久久亚洲高清不卡
|
久久热这里只有精品在线观看
|
久久99久久99小草精品免视看
|
亚洲日本va中文字幕久久
|
久久久久女教师免费一区
|
久久人妻少妇嫩草AV无码专区
|
综合久久精品色
|
久久久久成人精品无码
|
一级做a爱片久久毛片
|
国产成人精品免费久久久久
|
久久精品成人欧美大片
|
国产精品99久久久精品无码
|
久久精品成人免费国产片小草
|
久久精品国产99国产精偷
|
精品国产乱码久久久久久1区2区
|
亚洲欧洲精品成人久久曰影片
|
国产高潮国产高潮久久久91
|
国产99精品久久
|
亚洲精品白浆高清久久久久久
|
久久人人爽人人爽人人片AV东京热
|
久久天天日天天操综合伊人av
|
国产精品综合久久第一页
|
一本久久久久久久
|
久久亚洲国产成人精品无码区
|