在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

數據結構之棧,隊列,串介紹

冬至子 ? 來源:我也不知道寫點啥好 ? 作者:Lin ? 2023-05-26 14:35 ? 次閱讀

棧和隊列不再過多描述,了解入棧出棧規則,入隊出隊規則,棧的遞歸應用即可,面試肯定不會考這種概念,太簡單。

LeetCode36棧的應用

圖片

圖片

圖片

圖片

比如說有相當多的四則運算,前綴,中綴,后綴的題目都與棧有關。

主要想講一下串這種數據結構。串百分之九十九指的都是字符串,對于一個字符串S="Googlegoodgoor",來講想要找到一個為“goor”的子串,最常用的方法暴力搜索,一位一位的對照,直至找到相應的子串,當然這種算法太過于復雜,對于一個復雜的字符串,除非你的正則表達式,用的非常的好,能夠快速定位到需要的東西,否則你需要設計相當多的代碼,來實現這個功能。下面介紹一種算法,KMP模式匹配算法,能夠大大減少重復遍歷的情況,這個算法很重要,2020年在面試騰訊C++崗位,讓我手寫過KMP算法。

講一下大致流程,原理可以自己分析。

設模式串為S="abcdaabcab",子串為T="abcab",傳統暴力解決方法S[0],T[0]比較,在比較S[1],T[1],當S[3],T[3]不相等的時候,S退回到S[0],T退回到T[0],當我們匹配到S[3],T[3]不等的時候S有必要退回S[2]重新比較么,顯然第一次比較的所有動作全部白費,KMP很好的解決了這種重復遍歷的情況,用一個Next數組來保存這些有用的信息

Next數組,最長前綴默認Next[0]=-1,什么是最長前綴,對于子串abcab,有相等前綴后綴子串ab。

1.jpg

匹配方法:當我們第一次匹配的時候,S位置在S[3],T位置在T[3]不相等,我們借助next數組next[3]為0所以子串要退回到T[0]位置,與S[3]相比依然不相等,這時候就需要S移動到S[4]的位置,S[4]=T[0],但S[5]不等于T[1],即子串退回到next[1]的T[0]位置,即從后面開始可以匹配到子串。

LeetCode第28題

圖片

圖片

圖片

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • C++語言
    +關注

    關注

    0

    文章

    147

    瀏覽量

    7010
  • kmp算法
    +關注

    關注

    0

    文章

    4

    瀏覽量

    1447
收藏 人收藏

    評論

    相關推薦

    c++隊列

    stack ,(堆棧),是一種先進后出(First In Last Out,FILO)的數據結構,先插入的數據底,后放入的數據
    的頭像 發表于 07-15 08:50 ?983次閱讀
    c++<b class='flag-5'>之</b><b class='flag-5'>棧</b>和<b class='flag-5'>隊列</b>

    收藏 | 程序員面試,你必須知道的8大數據結構

    數據結構首先列出一些最常見的數據結構,我們將逐一說明:數組隊列鏈表樹圖字典樹(這是一種高效的樹形結構,但值得單獨說明)散列表(哈希表)數
    發表于 09-30 09:35

    常見的數據結構

    的,那樣對于數據的使用簡直是個悲劇。針對此類數據數據結構提供了圖存儲結構,專門用于存儲這類數據。二、
    發表于 05-10 07:58

    數據結構隊列順序及其構造

    數據結構隊列順序隊列構造順序隊列順序隊列的初始化判斷隊列
    發表于 12-17 06:11

    數據結構鏈式介紹

    數據結構鏈式鏈式鏈式的定義鏈式操作的實現鏈式
    發表于 12-17 08:11

    數據結構課件

    數據結構課件: 第一章  緒論.pdf      第二、三章  線性結構.pdf      第四章
    發表于 08-06 13:21 ?0次下載

    你還會手寫隊列隊列的基本實現程序說明

    昨天跟一個CSDN上的朋友聊天,他說現在如果讓他自己手寫一個或者隊列,估計都要寫蠻久的,平時雖然都在用,但是都是別人封裝好的集合。確實,經典的數據結構,包括排序算法,雖然我們平時不用手寫了,但是
    的頭像 發表于 11-11 11:34 ?2812次閱讀

    什么是?數據結構如何實現

    今天放松一下,我們來看看數據結構中的,這節的知識點可以說是數據結構中最容易上手的知識點了,其實比起鏈表,其實鏈表也有隊列的模型,鏈表的
    發表于 04-29 18:25 ?0次下載
    什么是<b class='flag-5'>棧</b>?<b class='flag-5'>數據結構</b>中<b class='flag-5'>棧</b>如何實現

    如何解決數據結構設計最大頻率問題?

    讀完本文,可以去力扣解決如下題目: 895.最大頻率(Hard) ? 我個人很喜歡設計特殊數據結構的問題,畢竟在工作中會經常用到基本數據結構,而設計類的問題就非常考驗對基本數據結構
    的頭像 發表于 03-02 11:02 ?1438次閱讀

    深度解析數據結構與算法篇隊列及環形隊列的實現

    01 — 隊列簡介 隊列是種先進先出的數據結構,有個元素進入隊列稱為入對(enqueue),刪除元素稱為出隊(dequeue),隊列有對頭(
    的頭像 發表于 06-18 10:07 ?1975次閱讀

    隊列實現原理是什么?隊列實現方案有哪幾種?

    是一種后進先出的數據結構,而隊列是一種先進先出的數據結構,兩者原理不難理解,使用也簡單。
    的頭像 發表于 07-04 13:28 ?2770次閱讀
    <b class='flag-5'>隊列</b>實現<b class='flag-5'>棧</b>原理是什么?<b class='flag-5'>隊列</b>實現<b class='flag-5'>棧</b>方案有哪幾種?

    SystemVerilog中可以嵌套的數據結構

    SystemVerilog中除了數組、隊列和關聯數組等數據結構,這些數據結構還可以嵌套。
    的頭像 發表于 11-03 09:59 ?1630次閱讀

    數據結構解決滑動窗口問題

    前文用 [單調解決三道算法問題]介紹了單調這種特殊數據結構,本文寫一個類似的數據結構「單調隊列
    的頭像 發表于 04-19 10:50 ?674次閱讀
    <b class='flag-5'>數據結構</b>解決滑動窗口問題

    兩個實現一個隊列方法

    隊列是比較基礎的數據結構。無論在工作中,還是在面試中,隊列都用的比較多。在計算機的世界,你會看到
    的頭像 發表于 10-08 15:54 ?831次閱讀

    redis數據結構的底層實現

    Redis是一種內存鍵值數據庫,常用于緩存、消息隊列、實時數據分析等場景。它的高性能得益于其精心設計的數據結構和底層實現。本文將詳細介紹Re
    的頭像 發表于 12-05 10:14 ?638次閱讀
    主站蜘蛛池模板: 亚欧美色| 特级aaaaaaaaa毛片免费视频| 五月婷婷俺也去开心| 黄字幕网| www天天操| 欧美性一区| 岛国大片在线播放| 1314酒色| 看黄网站免费| 亚洲成色在线综合网站| 婷婷激情小说| 免费在线黄视频| 男人午夜小视频| 欧美h网| 色黄网| 亚洲成人伊人网| 日本理论片www视频| 精品人人| 午夜观看| 草草操| 日本一区二区视频| 性欧美高清强烈性视频| 日本v片免费一区二区三区| 国产一卡二卡3卡4卡四卡在线| 在线观看黄a| 久久刺激| 亚洲网站免费看| 亚洲国产成人va在线观看| 日本三级在线播放线观看2021| 黄色片网站日本| 午夜嘿咻| 日韩综合nv一区二区在线观看| 欧美呜巴又大粗又长| 四虎亚洲精品| 国产日韩精品欧美一区色| 天天操 夜夜操| 黄色午夜| 五月婷婷色丁香| 狠狠曹| 美女被草视频| 男男憋尿play按小腹|