スタックとキュー(操作が制限された線形テーブル)(データ構造1)

スタック

1.1スタックの定義

スタック(スタック)は、一方の端でのみ挿入または削除できる線形テーブルです。

スタックの主な機能は後入れ先出しです。

1.2スタックのシーケンシャルストレージ構造の実装

スタック内の要素を格納するために連続ストレージ領域を割り当て、変数を使用して現在のスタックの最上位を指します。
シーケンシャルストレージを使用するスタックはシーケンシャルスタックと呼ばれ、JavaUtilパッケージの下のスタックはシーケンシャルスタックです。
ここに画像の説明を挿入します

スタックアプリケーション

キュー

2.1キューの定義

キューは、操作が制限された線形リストでもあります。片方の端でのみ削除し、もう一方の端に挿入することができます。

api

java	集合类
数据结构		队列
底层	数组

绿色:了解
红色:重点
橘黄色:接口

维护

头、尾

offer(T t)
poll(T t)	获取并移除此队列的头,如果此队列为空,则返回 null
peek()	获取但不移除此队列的头;如果此队列为空,则返回 null
size()

キューのシーケンシャルストレージ構造の実装

データ構造:キュー
最下層:配列

循環キュー

キューの適用

通常のキューのアプリケーションシナリオは限られています。一般に、エンジニアリングではブロッキングキュー(メッセージキュー)が使用され
ますブロッキングキューは、生産者/消費者モデルでよく使用されます。

スレッドプール:オーバーヘッドを削減

キューの実装を使用する:BFSの幅優先の検索/トラバーサル
ホイールを繰り返さないでください

春、フレームワークCVの急速な開発

おすすめ

転載: blog.csdn.net/AC_872767407/article/details/114382223