雲があなたが手書きスタックとキューを共有することを可能にする場合は、[Huawei社]は、あなたはそれを書くのだろうか?

チャットで友人と昨日CSDNは、彼は、スタックやキュー彼自身の手書きだった今ならば、通常の使用ではなく、他の人がコレクションをパッケージ化しているが、かなり長い時間を記述する必要が推定されていると述べました。

確かに、開発者として、私たちは通常、手書きしていないものの、ソートアルゴリズムを含む古典的なデータ構造、が、これらの内部強度は、習得しなければなりません。これに触発され、私は、データ構造とアルゴリズムより古典的な一連の記事を見に行きますよ。今日では、スタックとキューは話し始めます。

これらのことは〜キュー、バスを食べて、地下鉄の混雑時に、外観に使用することができ、または、ティーバーとしてそれを置くために

私たちは、アレイに、既知のインデックスデータ項目ならば、あなたはすぐにデータ項目にアクセスするか、検索項目の順序、アレイ内の個々のデータ項目へのアクセスでできることを知っています。しかし、一つだけのデータ項目は、特定の時間に読み取りまたは削除することができるで異なるスタックやキュー、彼らのアクセスが制限されているが、。スタックは、スタックの最上位の高度アウトした後、我々はすべて知っているように、専用のアクセスデータキューはFIFOあり、ヘッダデータのみをアクセスすることができます。ここではそれらを繰り返すわけではありません。

アレイを用いて実現することができるメインスタック機構は、リンクされたリストは、スタックの基本的な動作を実現するアレイ以下、実施されてもよいです。

押すと、時間複雑性O(1)両方のデータ項目のポップ。すなわち、スタック内のデータ項目の数に依存しないスタック操作によって消費される時間であるため、動作時間が短くなります。操作を比較して移動するスタックが必要。

キューイングも実装するためのアレイを使用することができますが、ここで追加することができませんした後、完全な配列の添字が、配列の前にキューの先頭にはデータが空気中で、その結果、削除されているため、問題は、そこにあります。私たちが達成するために、リサイクルキュー配列を使用することができますので、以下のコードを参照してください。

そして、キュー挿入、削除データ項目のデータ項目としてスタックはO(1)の時間複雑です。

プライオリティキュー、優先キューとキューがより多くのスタックデータ構造よりも特化されてがあります。上記キューの通常のプライオリティキューに比べて、主な違いは、最初のチームの全データ項目のキュー要素が順序付けされる、キーワード最小値(又は最大値)です。データ項目の挿入は、キューの順序を保証するために適切な位置に挿入されます。内部プライオリティキューは、特定のアレイまたはツリーを達成するために使用されてもよい - スタックが達成されます。

プライオリティキューは、挿入操作はO(N)時間を必要とし、削除操作はO(1)時間にする必要があります、ここで実装しました。

著者:Huawei社など専門家の呉ニッケルリットルを楽しみます

 

欢迎添加华为云小助手微信(微信号:HWCloud002HWCloud003),验证通过后,输入关键字“加群”,加入华为云线上技术讨论群;输入关键字“最新活动”,获取华为云最新特惠促销。华为云诸多技术大咖、特惠活动等你来撩!

おすすめ

転載: www.cnblogs.com/huaweicloud/p/12384616.html