一、KMP算法 對于兩個字符串s1、s2。請設(shè)計一個高效算法,找到s1在s2中第一次出現(xiàn)的起始位置。若s2未在s1中出現(xiàn),則返回-1。 二、替換...
什么是哈希表? 哈希表是根據(jù)關(guān)鍵字而直接進行訪問的數(shù)據(jù)結(jié)構(gòu),通過把一個關(guān)鍵字映射到一個下標(索引),以加快查找的速度。這個映射函數(shù)叫做哈希函數(shù)。...
一、冒泡排序 二、選擇排序 三、插入排序 四、希爾排序 插入排序的比對次數(shù),在最好的情況下是O(n),這發(fā)生在列表已是有序的情況下。實際上,列表...
問題一 求組成目標金額的最小硬幣數(shù) 解法一:遞歸 解法二:動態(tài)規(guī)劃 問題二 求組成目標金額的不同硬幣數(shù)量 一、組合 硬幣數(shù)組為外層循環(huán)。對于每一...
順序表鏈表存儲空間連續(xù)地分配空間。預先分配,可能閑置或溢出動態(tài)地分配空間,不會閑置或溢出存儲密度1小于1,每個節(jié)點的指針域需額外占用存儲空間存取...
什么是棧? 一種有次序的數(shù)據(jù)項集合,在棧中,數(shù)據(jù)項的加入和移除都僅發(fā)生在同一端,稱為棧頂;另一端叫棧底。 后進先出:距離棧底越近的數(shù)據(jù)項,留在棧...
一、生成格雷碼 在一組數(shù)的編碼中,若任意兩個相鄰的代碼只有一位二進制數(shù)不同, 則稱這種編碼為格雷碼(Gray Code),請編寫一個函數(shù),使用遞...
一、翻轉(zhuǎn)數(shù)列 小Q定義了一種數(shù)列稱為翻轉(zhuǎn)數(shù)列:給定整數(shù)n和m, 滿足n能被2m整除。對于一串連續(xù)遞增整數(shù)數(shù)列1, 2, 3, 4...每隔m個符...
一、方法定義 二、為任意類型添加方法