日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

数据结构基础:栈和队列学习笔记

發(fā)布時(shí)間:2023/12/10 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数据结构基础:栈和队列学习笔记 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1、棧

1.1?棧的定義

棧是只能通過訪問它的一端來實(shí)現(xiàn)數(shù)據(jù)的存儲(chǔ)和檢索的一種特殊的線性數(shù)據(jù)結(jié)構(gòu)。棧的修改要遵循先進(jìn)后出的原則,這個(gè)是棧的核心。在棧中進(jìn)行插入和刪除操作的一端稱為棧頂(Top)。另一端被稱為棧底(bottom)。不包含任何元素的棧稱為空棧。

1.1.1 棧的運(yùn)算

? ? ? ?? ? ? ?

1.2 棧的存儲(chǔ)結(jié)構(gòu)

1.2.1 棧的順序存儲(chǔ)

棧的順序存儲(chǔ)是指用一組地址連續(xù)的存儲(chǔ)單元依次存儲(chǔ)自棧頂?shù)綏5椎臄?shù)據(jù)元素,同時(shí)附設(shè)置指針top指示棧頂元素的位置。順序存儲(chǔ)的棧也被稱為順序棧。這種存儲(chǔ)方式,需要預(yù)先定義或申請棧的存儲(chǔ)空間,所以順序棧的空間容量是有限的。在入棧的時(shí)候要判斷是否棧滿的情況。否則會(huì)出現(xiàn)上溢的異常。

1.2.2 棧的鏈?zhǔn)酱鎯?chǔ)

為了解決順序棧可能存在上溢的不足,可以用鏈表存儲(chǔ)棧中的元素。鏈?zhǔn)酱鎯?chǔ)的棧也被稱為鏈棧。元素的插入、刪除操作僅能在棧頂一端進(jìn)行。因此可以不必設(shè)置頭節(jié)點(diǎn)。

1.2.3 棧的用途

棧的典型應(yīng)用包括表達(dá)式求值、括號匹配等。在編程領(lǐng)域?qū)崿F(xiàn)將遞歸過程轉(zhuǎn)變?yōu)榉沁f歸過程的處理中,棧可以起到重要作用。還可以實(shí)現(xiàn)數(shù)據(jù)的逆向輸出。?

2、隊(duì)列

2.1 隊(duì)列的定義

隊(duì)列是一種先進(jìn)先出的線性表,它只允許在表的一端插入元素,在表的另一端刪除元素。在隊(duì)列中,允許插入元素的一端稱為隊(duì)尾(Rear),允許刪除元素的一端稱為隊(duì)頭(Front)

2.2 隊(duì)列的基本運(yùn)算

? ? ? ?? ? ? ?

2.2 隊(duì)列的存儲(chǔ)結(jié)構(gòu)

2.2.1 隊(duì)列的順序存儲(chǔ)

利用一組地址連續(xù)的存儲(chǔ)單元存放隊(duì)列中的元素。由于隊(duì)列中的元素插入和刪除限定在兩端進(jìn)行,因此設(shè)置隊(duì)頭指針和隊(duì)尾指針需要分別指示當(dāng)前的隊(duì)頭元素和隊(duì)尾元素。順序隊(duì)列的存儲(chǔ)空間是提前設(shè)定好的,因此隊(duì)尾指針會(huì)有一個(gè)上限值,達(dá)到上限就不能夠再入隊(duì)操作了。需要等隊(duì)頭有元素被移除。這個(gè)和日常買東西排隊(duì)是很相似的,比如買東西限定排隊(duì)人數(shù)為20人,如果當(dāng)前已經(jīng)排滿了,此時(shí)工作人員會(huì)阻止你的排隊(duì)行為,直到第一個(gè)買東西離開后,你就就可以繼續(xù)排隊(duì)了。判斷順序隊(duì)列位空隊(duì)列的方法是隊(duì)頭和隊(duì)尾的值相同。

注意:針對空隊(duì)列要能區(qū)分隊(duì)頭隊(duì)尾元素,可以通過標(biāo)識位來區(qū)分隊(duì)頭和隊(duì)尾元素的不同。

2.2.2 隊(duì)列的鏈?zhǔn)酱鎯?chǔ)

隊(duì)列的鏈?zhǔn)酱鎯?chǔ)稱為鏈隊(duì)列。鏈隊(duì)列判斷是否位空隊(duì)列的條件是值相同并且均指向頭節(jié)點(diǎn)。

2.3 隊(duì)列的用途

隊(duì)列常用于需要排隊(duì)的場合,比如打印機(jī)打印文件、離散事件的計(jì)算機(jī)模擬、消息隊(duì)列、定時(shí)任務(wù)等方面。

IT技術(shù)分享社區(qū)

個(gè)人博客網(wǎng)站:https://programmerblog.xyz

文章推薦程序員效率:畫流程圖常用的工具程序員效率:整理常用的在線筆記軟件遠(yuǎn)程辦公:常用的遠(yuǎn)程協(xié)助軟件,你都知道嗎?51單片機(jī)程序下載、ISP及串口基礎(chǔ)知識硬件:斷路器、接觸器、繼電器基礎(chǔ)知識

總結(jié)

以上是生活随笔為你收集整理的数据结构基础:栈和队列学习笔记的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。