前回は著者の指示に従って、データ構造におけるクエリ アルゴリズムといくつかのソート アルゴリズムを確認しました。今回は著者の指示に従って、基本的なソート アルゴリズムをいくつか学習します。 選択ソート 使用条件:同等のサイズのコレクション。 アルゴリズムのアイデア:毎回、ソートするデータ要素から最小 (または最大) の要素を選択し、ソートするすべてのデータ要素がソートされるまで、ソートされたシーケンスの最後に配置します。 例: int b[10]={77,1,65,13,81,93,10,5,23,17}
パフォーマンス分析:時間計算量は O(n^2) ヒープソート 使用条件:同等のサイズのコレクション。 アルゴリズムのアイデア:実際、ヒープ ソートは単純な選択ソートの進化形であり、その主な機能は比較回数を減らすことです。ヒープとは何ですか?シーケンスを完全な二分木と見なすと、完全な二分木内のすべての非終端ノードの値は、その左と右の子ノードの値よりも大きくありません(または小さくありません)。これをヒープと呼ぶことができます。ヒープの特性から、ヒープの最上部が最大キーワード (または最小キーワード) であることがわかります。ヒープの最上部を出力した後、残りの要素で別のヒープを構築し、最上部を出力します。この処理を繰り返し実行することで、順序付けられたシーケンスを取得できます。この処理はヒープソートと呼ばれます。 ヒープソートは主に 2 つのステップに分かれます。
例: int b[10]={77,1,65,13,81,93,10,5,23,17}
パフォーマンス分析:時間計算量 時間計算量 O(nlogn) マージアルゴリズムは2ウェイマージアルゴリズムとも呼ばれます 使用条件:同等のサイズのコレクション。 アルゴリズムのアイデア:初期シーケンスに n 個のレコードが含まれていると仮定すると、これは n 個の順序付けられたサブシーケンスと見なすことができます。各サブシーケンスの長さは 1 で、次に 2 つずつ結合して、長さが 2 または 1 の [n/2] 個のサブシーケンスを取得します (ここでは長さが 1 で、シーケンスの長さが奇数の場合は最後のシーケンスがそのまま残されるため、長さは 1 になります)。次に 2 つずつ結合し、長さ n の順序付けられたシーケンスが得られるまでこのプロセスを繰り返します。 例: int b[10]={77,1,65,13,81,93,10,5,23,17}
パフォーマンス分析:時間計算量 O(nlogn) 要約する さまざまなアプリケーションや要件に応じて適切なソート方法が異なるため、次の要素を考慮して適切なソート方法を選択してください。
では、ソートアルゴリズムは数多くありますが、どのアルゴリズムをいつ使用すればよいのでしょうか? n が比較的小さい場合 (たとえば、n<=50)、直接挿入ソートまたは単純選択ソートを使用できます。 シーケンスの初期状態が基本的に順序付けられている場合は、直接挿入ソートまたはバブルソートを選択できます。 n が比較的大きい場合は、時間計算量が O(nlogn) のアルゴリズム(クイックソート、ヒープソート、マージソート)を使用できます。
オリジナルリンク: http://www.cnblogs.com/couhujia/archive/2011/03/25/1994996.html 【編集者のおすすめ】
|
>>: エントリーレベルのデータベースアルゴリズム [パート 2]
2020 年も終わりに近づいていますが、AI はさまざまなことに役立っています。車を運転したり、音楽...
最近の調査によると、より複雑な作業をインテリジェントな自動化に任せることを計画している企業の数は、今...
人間の脳は地球上で最も効率的な計算装置です。わずか 20W の電力と 1.3kg の質量で、1 秒間...
翻訳者 | 朱 仙中レビュー | Chonglou制作:51CTO テクノロジースタック(WeCha...
数週間前、Googleの人工知能(AI)子会社DeepMindが、Gato(同じトレーニング済みモデ...
それは1998年、オーストラリアF1グランプリの時のことでした。 36周目にフィンランド人ドライバー...
背景モノのインターネット (IoT) の継続的な発展は、ここ数年にわたって現実のものとなってきました...
C言語を学んだ友人やIT関係の人ならアルゴリズムには詳しいと思います。したがって、分野が異なれば、ア...
[[255856]]画像ソース @Visual China人工知能の普及により、中国の親たちの不安...
ウイルスのさらなる拡散を防ぐため、米国で初めて新型肺炎に感染した患者は隔離室に隔離され、治療中はロボ...
AIは現代のビジネスとテクノロジーのエコシステムをさまざまな形で大きく変えてきました。過去数年間に...
ロボティック・プロセス・オートメーション (RPA) は、単調で反復的なタスクを排除するのでしょうか...
本日は、有名な SemiAnalysis アナリストの Dylan Patel 氏と Daniel ...
[[212238]]前世紀、科学者は視覚神経のいくつかの特性を発見しました。視神経には局所的な知覚が...