Queue
2171 ワード
Queue
この文書は2021年12月31日に書かれています.
Devアルゴリズムシリーズにおけるデータ構造Docを読んでみましょう
Queueとは?
Queueは、次のような特徴を持つデータ構造です.
1.1. 横置きのサンドイッチを作るコンセプトで、最初に入れた要素から取り出します.
実際には、データ構造ライブラリで作成されるメソッドの数は、この数をはるかに上回っています.
次のプロセスでは、Qはキューを表す.
# ENQUEUE
キューが飽和していないことを基本前提とします.
Queueの末尾にx値を加算します.
Queueの末尾とQueueの長さ
同じならQ.tailを1に変えます.
違うならQ.tail++.
ENQUEUE (Q, x)
Q 의 포화를 검사하는 코드
Q[Q.tail] = x
if Q.tail == Q.length
Q.tail = 1
else
Q.tail = Q.tail+1
# DEQUEUE
Queueが空でないことを基本前提としています.
Queueヘッダ(FIFO)の値を保持します.
Queueの頭と長さ
同じなら、髪の毛を1に変えます.
違うならQ.head++にします.
次にxを返します.
DEQUEUE (Q)
Q 가 비었는지 확인하는 코드
x = Q[Q.head]
if Q.head == Q.length
Q.head=1
else
Q.head=Q.head+1
return x
JavaでQueueは?
Java(jdk 1.8以降)はCollection Frameworkを通ります.
Queueが実現しました.
参考にして使えますが、
WrapperクラスとGenericsはPrimitiveタイプではありません.
ショーが気になってPrimitiveを扱うなら、別のStack類を作るのもいいですね.
###前へ...
Queueの変形形態としてはDequeやPriority Queueなどがある.
基本的にQueueが変わったり本質が全く違うので、以下の文章を参考にして整理した方が良いでしょう.
Java:Collection FrameworkでDequeue、Priority Queue
Heap Sort | Priority Queue Sort
バックアップの例
10845番キュー
1158号ジョセフス問題
10866号デッキ
Reference
この問題について(Queue), 我々は、より多くの情報をここで見つけました https://velog.io/@unchapterd/Structure-Queテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol