408第一季 - 數據結構 - 棧與隊列

閑聊?

棧是一個線性表

棧的特點是后進先出

然后是一個公式

?比如123要入棧,一共有5種排列組合的出棧

棧的數組實現

這里有兩種情況,,一個是有下標為-1的,一個沒有

代碼不用看,真題不會考

?棧的鏈式存儲結構

L -> 4 ->3 ->2 -> 1

歸并所有的操作都在表頭進行,用鏈表實現

做題區

1

相當簡單,fedc出棧了4次了

2?

?

可以看見,除了它本身取不到,其他都能取到,也就是n-1的取值個數

3

這題目不難,必要陷入題目的陷阱了,?意思是in和out可以隨便取

可以看出來可以判斷出來能不能出棧

過程是一樣的,看看能不能找到出棧,可以判斷

C:一定不同就幽默了,

D:確實可能互為倒序

隊列

閑聊

也是操作受限的線性表

操作特點是先進先出 FIFO

記住這句話,rear有點大病

?入隊的話是從尾部隊列,上面的圖就是當front走到最上面,發現數組中還有空位置,就很浪費,所以就有了循環隊列,就是可以重頭開始

循環隊列

循環隊列是用數組實現的,所以它屬于存儲結構(物理結構),邏輯結構反映不出來是用什么實現的

下面一共會畫4種圖,兄弟們

第一種

front和rear都會指向0

然后假設第一個元素放入A【0】

入隊我們要做的就是尾指針先放后移

就可以發現

第二種

front和rear都會指向倒數倒數第一個

那就只能先移動在放了

尾指針終于指向隊尾了

頭指針就很屎了,在隊頭前一個

第三種

頭指針在倒數第一個,尾指針在第一個(圖已分裂!)

肯定是先放后移了

尾指針肯定是隊尾下一個

頭指針是隊頭的前一個,永遠是這樣記住,若頭指針移動到下一個元素出棧,那頭指針仍然是隊頭的前一個

第四種

隊頭是0,隊尾是倒數第一個

先移再放不多說

尾指針指向隊尾

頭指針指向隊頭,爽了

然后看一下題目就知道該怎么用了

這里就是第四種情況了,選B

判斷隊空隊滿

拿第一個舉例子

后面就是先放再移動,移啊移啊,變成了下面的樣子

就能發現 空是 front == rear

? ? ? ? ? ? ? ? 滿是 front == rear

可以發現居然一樣的,我不能接受!

所以犧牲一個單元

?

就變成了 (rear + 1)% M == front

看題目

?這里頭指向隊首元素,隊尾指向隊尾后一個也是隊頭元素

后面又說最多能容納M-1個,也就是說,他犧牲了一個單元,非常感動

選A

計算元素個數

如果? rear > front? 那rear - front

如果? front出隊,rear又入隊

就變成了?rear <?front? 那就是 rear + n - front

所以,如果要整一個匯總就是

(rear - front + n)%n?

雙端隊列

?輸出受限雙端隊列:就是2邊能隨便進,但輸出受限了

??輸入受限雙端隊列:就是2邊能隨便輸出,但輸入受限了

做個題

只讓從一端出,也就是圖這個樣子,最后只要能入成選項的樣子就可以了,因為最后直接順序輸出就結束了

C選項無法入成我想要的樣子,所以錯

一模一樣的題

?選D

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/86107.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/86107.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/86107.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Linux(14)——庫的制作與原理

庫制作與原理技術文章大綱 庫的基本概念與分類 定義&#xff1a;庫&#xff08;Library&#xff09;在編程中的核心作用與意義分類&#xff1a;靜態庫&#xff08;Static Library&#xff09;、動態庫&#xff08;Dynamic Library&#xff09;的差異與應用場景常見示例&#…

2025政務服務便民熱線創新發展會議順利召開,張晨博士受邀分享

5月28日&#xff0c;由新華社中國經濟信息社、新華社廣東分社聯合主辦的2025政務服務便民熱線創新發展暨“人工智能熱線”會議在廣州舉行。會議圍繞“人工智能與新質熱線”主題&#xff0c;邀請全國的12345政務服務便民熱線主管部門負責人、省市熱線負責人和專家學者&#xff0…

AI驅動的B端頁面革命:智能布局、數據洞察的底層技術解析

摘要 ** 當企業 B 端系統的頁面還在依賴設計師反復調整布局&#xff0c;靠人工熬夜分析數據時&#xff0c;競爭對手已借助 AI 實現頁面的自動優化與智能決策。為何有的 B 端系統界面混亂&#xff0c;操作繁瑣&#xff0c;而 AI 賦能的頁面卻能精準適配用戶需求&#xff0c;秒…

大故障:阿里云核心域名爆炸了

大故障&#xff1a;阿里云核心域名被拖走了 今天早上許多群里出現網站故障的討論&#xff0c;比如 cnblogs 全國訪問一片紅&#xff0c;一看原來是阿里云又出故障了。 今天早上許多群里出現網站故障的討論&#xff0c;比如 cnblogs 全國訪問一片紅&#xff0c;一看原來是阿里云…

第1講、包管理和環境管理工具Conda 全面介紹

1. Conda 的背景與核心概念 1.1 什么是 Conda&#xff1f; Conda 是一個開源的、跨平臺的、語言無關的包管理和環境管理系統。它最初由 Anaconda 公司開發&#xff0c;旨在解決 Python 數據科學家面臨的包管理挑戰&#xff0c;但現在已經發展成為一個適用于多種編程語言的通用…

第4天:RNN應用(心臟病預測)

&#x1f368; 本文為&#x1f517;365天深度學習訓練營 中的學習記錄博客&#x1f356; 原作者&#xff1a;K同學啊 目標 具體實現 &#xff08;一&#xff09;環境 語言環境&#xff1a;Python 3.10 編 譯 器: PyCharm 框 架: Pytorch &#xff08;二&#xff09;具體步驟…

STM32學習筆記:外部中斷(EXTI)原理與應用詳解

前言 在嵌入式系統開發中&#xff0c;中斷機制是提高系統實時性和效率的重要手段。相比傳統的51單片機&#xff0c;STM32微控制器提供了更為豐富和靈活的外部中斷資源。本文將全面介紹STM32的外部中斷(EXTI)功能&#xff0c;包括其工作原理、配置方法和實際應用技巧。 一、外…

嵌入式知識篇---Zigbee串口

在 Python 中&#xff0c;serial和pyserial是經常被提及的兩個庫&#xff0c;它們在串口通信方面有著緊密的聯系&#xff0c;但又存在一些差異。下面將對它們進行詳細介紹&#xff0c;并給出各自的適用場景。 1. 基本概念 pyserial&#xff1a;它是 Python 里專門用于串口通信…

vue中的派發事件與廣播事件,及廣播事件應用于哪些場景和一個表單驗證例子

在 Vue 2.X 中&#xff0c;$dispatch 和 $broadcast 方法已經被廢棄。官方認為基于組件樹結構的事件流方式難以理解&#xff0c;并且在組件結構擴展時容易變得脆弱。因此&#xff0c;Vue 2.X 推薦使用其他方式來實現組件間的通信&#xff0c;例如通過 $emit 和 $on 方法&#x…

阿里云事件總線 EventBridge 正式商業化,構建智能化時代的企業級云上事件樞紐

作者&#xff1a;肯夢、稚柳 產品演進歷程&#xff1a;在技術浪潮中的成長之路 早在 2018 年&#xff0c;Gartner 評估報告便將事件驅動模型&#xff08;Event-Driven Model&#xff09;列為十大戰略技術趨勢之一&#xff0c;指出事件驅動架構&#xff08;EDA&#xff0c;Eve…

《前端面試題:BFC(塊級格式化上下文)》

前端BFC完全指南&#xff1a;布局魔法與面試必備 &#x1f38b; 端午安康&#xff01; 各位前端探險家&#xff0c;端午節快樂&#xff01;&#x1f96e; 愿你的代碼如龍舟競渡般乘風破浪&#xff0c;樣式如香糯粽子般完美包裹&#xff01;今天我們來解鎖CSS中的布局魔法——B…

dvwa10——XSS(DOM)

XSS攻擊&#xff1a; DOM型XSS 只在瀏覽器前端攻擊觸發&#xff1a;修改url片段代碼不存儲 反射型XSS 經過服務器攻擊觸發&#xff1a;可能通過提交惡意表單&#xff0c;連接觸發代碼不存儲 存儲型XSS 經由服務器攻擊觸發&#xff1a;可能通過提交惡意表單&#xff0c;連…

跨平臺資源下載工具:res-downloader 的使用體驗

一款基于 Go Wails 的跨平臺資源下載工具&#xff0c;簡潔易用&#xff0c;支持多種資源嗅探與下載。res-downloader 一款開源免費的下載軟件(開源無毒、放心使用)&#xff01;支持Win10、Win11、Mac系統.支持視頻、音頻、圖片、m3u8等網絡資源下載.支持視頻號、小程序、抖音、…

AOSP CachedAppOptimizer中的凍結和內存壓縮功能

AOSP CachedAppOptimizer&#xff1a;應用進程長期處于 Cached 狀態的內存壓縮和凍結優化管控 凍結和內存壓縮兩個功能獨立觸發&#xff0c;可以單獨觸發也可以組合觸發&#xff0c;默認順序&#xff1a;先壓縮&#xff0c;后凍結 public class OomAdjuster { protected b…

相機--相機成像原理和基礎概念

教程 成像原理 基礎概念 焦距&#xff08;物理焦距&#xff09; 鏡頭的光學中心到感光元件之間的距離&#xff0c;用f表示&#xff0c;單位&#xff1a;mm&#xff1b;。 像素焦距 相機內參矩陣中的 fx? 和 fy? 是將物理焦距轉換到像素坐標系的產物&#xff0c;可能不同。…

Vue3項目實現WPS文件預覽和內容回填功能

技術方案背景&#xff1a;根據項目需要&#xff0c;要實現在線查看、在線編輯文檔&#xff0c;并且進行內容的快速回填&#xff0c;根據這一項目背景&#xff0c;最終采用WPS的API來實現&#xff0c;接下來我們一起來實現項目功能。 1.首先需要先準備好測試使用的文檔&#xf…

匯編語言學習(三)——DoxBox中debug的使用

目錄 一、安裝DoxBox&#xff0c;并下載匯編工具&#xff08;MASM文件&#xff09; 二、debug是什么 三、debug中的命令 一、安裝DoxBox&#xff0c;并下載匯編工具&#xff08;MASM文件&#xff09; 鏈接&#xff1a; https://pan.baidu.com/s/1IbyJj-JIkl_oMOJmkKiaGQ?pw…

關于DDOS

DDOS是一門沒什么技術含量的東西&#xff0c;其本質而言是通過大量數據報文&#xff0c;發送到目標受害主機IP地址上&#xff0c;導致目標主機無法繼續服務&#xff08;俗稱&#xff1a;拒絕服務&#xff09; DDOS灰產人期望達成的預期目標&#xff0c;幾乎都是只要把對面打到 …

Modbus轉Ethernet IP網關助力羅克韋爾PLC數據交互

在工業自動化領域&#xff0c;Modbus協議是一種廣泛應用的串行通信協議&#xff0c;它定義了主站和從站之間的通信規則和數據格式。羅克韋爾PLC是一種可編程的邏輯控制器&#xff0c;通過Modbus協議實現與其他設備之間的數據交互。然而&#xff0c;隨著以太網技術的普及和發展&…

C# winform教程(二)----button

一、button的使用方法 主要使用方法幾乎都在屬性內&#xff0c;我們操作也在這個界面 二、作用 用戶點擊時觸發事件&#xff0c;事件有很多種&#xff0c;可以根據需要選擇。 三、常用屬性 雖然屬性很多&#xff0c;但是常用的并不多 3.常用屬性 名稱內容含義AutoSize自動調…