擴展kmp 廣饒一中二校區李儒昊 所謂擴展kmp指的是與kmp相似的求輔助數組的原理,但是本身與kmp關系不大。 1.exkmp的用途:給定一個主串s和一個子串t,求出s中每一個后綴和子串t的最長公共前綴。 2.算法推導: 給定 ...
例題傳送門:caioj EXKMP 最長共同前綴長度 題意 給出模板串A和子串B,長度分別為lenA和lenB,要求在線性時間內,對於每個A i lt i lt lenA ,求出A i..lenA 與B的最長公共前綴長度 輸入文件 輸入A,B兩個串, lenB lt lenA lt 輸出文件 輸出lenA個數,表示A i...lenA 與B的最長公共前綴長度,每個數之前有空格 樣例輸入 aabb ...
2017-11-03 08:52 5 3081 推薦指數:
擴展kmp 廣饒一中二校區李儒昊 所謂擴展kmp指的是與kmp相似的求輔助數組的原理,但是本身與kmp關系不大。 1.exkmp的用途:給定一個主串s和一個子串t,求出s中每一個后綴和子串t的最長公共前綴。 2.算法推導: 給定 ...
1. 寫在前面 本篇博文是學習算法導論的第一次記錄,主要想介紹如何去證明算法的正確性;如何去評判一種算法的好壞;以及如何去改進算法。 2. 從插入排序說起 插入排序(insert-sort)是一種十分常見的算法,我們在生活中可能就經常在使用——玩撲克。考慮我們抓牌時的場景。首先,你的右手 ...
重讀<算法導論> 記得多年前學數據結構的時候作為教材的延伸讀物我拜讀了<算法導論>,當時有選擇的讀了大約2/3的東西,只學理論和算法實在枯燥,看書之余動手寫了其中的一些算法,但是由於實在不知道這些知識有什么用處,剩余的1/3大部分是一些具體的理論推導和稍微復雜的算法 ...
heap的定義:如果數組a[1,....n]滿足:a[i]>a[2*i] && a[i]>a[2*i+1],1<=i<=n/2,那么就是一個heap,而且是ma ...
用了幾個月磕磕絆絆的總算把《算法導論》一書看完了,在此寫篇博客總結一下學習到的知識。 首先先放上《算法導論》的思維導圖: 由於本人的理解能力有限,故部分較難懂的內容沒有加入到該思維導圖中。 1.排序 排序問題是我們日常生活中經常遇到的一個問題,因此算法導論也把排序作為整個算法介紹 ...
排序算法是最基礎的一類算法。主要排序算法包括選擇排序、插入排序、冒泡排序、合並排序、堆排序和快速排序。把這些排序算法全部實現一邊,再把《算法導論》對應章節后面的習題做一遍,確實是系統學習算法的一個不錯的開端。 選擇排序 選擇排序的想法很簡單,把需要排序的數組看成一堆撲克牌:先查一遍,抽出最小 ...
《算法導論》讀書筆記之第1章 算法在計算機中的作用 本章是本書的開篇,介紹了什么是算法,為什么要學習算法,算法在計算機中的地位及作用。 算法(algorithm)簡單來說就是定義良好的計算機過程,它取一個或一組值作為輸入,並產生出一個或一組值作為輸出。即算法就是一系列的計算步驟 ...
1. 簡介 在之前我們學習了紅黑樹,今天再學習一種樹——B樹。它與紅黑樹有許多類似的地方,比如都是平衡搜索樹, 但它們在功能和結構上卻有較大的差別。 從功能上看,B樹是為磁盤或其他存儲設備設計的, ...