程序描繪人生
知識改變命運,學習成就未來。
C++博客
新隨筆
聯系
聚合
管理
隨筆 - 89 文章 - 118 trackbacks - 0
<
2009年11月
>
日
一
二
三
四
五
六
25
26
27
28
29
30
31
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
1
2
3
4
5
留言簿
(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.?判斷單鏈表是否存在環,判斷兩個鏈表是否相交問題詳解(34815)
2.?機器學習算法原理與編程實踐 代碼下載地址(25455)
3.?spark機器學習 源代碼 Machine Learning With Spark source code(23223)
4.?實戰java高并發程序設計 源代碼 source code(21403)
5.?轉:幾種MFC對話框的隱藏方法(10824)
6.?單鏈表逆序輸出(10379)
7.?VC中取得毫秒級的時間(9843)
8.?迷宮最短路徑問題解析(8904)
9.?深入淺出LSH(8896)
10.?Exception in thread "main" java.lang.ClassNotFoundException: WordCount(7536)
字符串常見算法之一:查找一個短串在一個長串中位置
介紹的一些字符串處理的問題在日常編程中比較常見,但是在大學讀書的時候幾乎一個都沒有涉及,最近學習了一下在這里介紹給大家,僅供參考。
這些算法與內容包括:
1、 查找一個短串在一個長串中位置;
2、 查找一個字符串中最長的重復子串;
3、 查找一個字符串中重復最多的子串;
4、 兩個字符串最長的公共子串(連續);
5、 兩個字符串最長的公共子序列(不連續);
6、 介紹一種強大的數據結構,Suffix tree.
這里有一個PPT:
http://www.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精品久久久久久噜噜
|
中文精品久久久久国产网址
|
久久久久四虎国产精品
|
久久这里只有精品视频99
|
免费精品国产日韩热久久
|
国产精品99久久精品
|
精品久久久无码中文字幕天天
|
麻豆av久久av盛宴av
|
久久久久久久精品成人热色戒
|
色偷偷久久一区二区三区
|
色综合久久天天综合
|
伊人久久综合无码成人网
|
久久国产精品久久
|
久久久久久精品免费看SSS
|
国内精品久久久久影院免费
|
亚洲欧美久久久久9999
|
久久久久久狠狠丁香
|
国产亚洲精品久久久久秋霞
|
国产99久久久国产精免费
|
亚洲精品乱码久久久久久久久久久久
|
久久99久久成人免费播放
|
伊人久久综合无码成人网
|
久久无码人妻精品一区二区三区
|
国内精品伊人久久久久av一坑
|
午夜视频久久久久一区
|
久久99精品九九九久久婷婷
|
国产亚洲综合久久系列
|
AV无码久久久久不卡蜜桃
|
天天综合久久一二三区
|
精品久久人人爽天天玩人人妻
|
欧美喷潮久久久XXXXx
|
精品久久亚洲中文无码
|
久久强奷乱码老熟女网站
|
亚洲国产一成久久精品国产成人综合
|
日日躁夜夜躁狠狠久久AV
|
午夜精品久久久久久影视riav
|
久久免费观看视频
|
午夜精品久久久内射近拍高清
|
久久久久久国产精品美女
|