並べ替えとは、要素間の線形関係に従って、データを昇順または降順で並べ替えることを意味します。バブルソートに関するこの記事 この概念を詳細に理解するのに役立ちます。
このブログでは、以下のトピックについて説明します。
バブルソートとは何ですか?
バブルソートは、シンクソートとも呼ばれます。これは、並べ替えるリストを継続的にステップ実行し、隣接するアイテムの各ペアを比較し、順序が正しくない場合はそれらを交換する単純な並べ替えアルゴリズムです。この手順は、スワップが不要になるまで繰り返されます。これは、リストがソートされるときです。
バブルソートを実行するための手順
- リストの最初の要素と2番目の要素を比較し、順序が間違っている場合は交換します。
- 2番目と3番目の要素を比較し、順序が間違っている場合は交換します。
- 同様の方法で、リストの最後の要素まで同様に続行します。
- リストがソートされるまで、上記のすべての手順を繰り返します。
上記の手順は、次の視覚化によってより明確になります–
Javaで回文をチェックする方法
バブルソートアルゴリズム
次に、バブルソートの背後にあるアルゴリズムを見てみましょう。
ファーストパス:
(( 16.19 、11、15、10)->( 16.19 、11、15、10)–アルゴリズムは、19> 16以降の最初の2つの要素とスワップを比較します
((16、 19.11 、15.10)->(16、 11.19 、15.10)– 19> 11以降の交換
((16.11、 19.15 、10)->(16,11、 15.19 、10)–19> 15以降の交換
(16、11、15、 19.10 )->(16、11、15、 10.19 )–これらの要素はすでに正しい順序(19> 10)になっているため、アルゴリズムはそれらを交換しません。
セカンドパス:
(( 16.11 、15、10、19)->( 11.16 、15,10,19)– 16> 11以降のスワップ
( 十一、 16.15 、10.19)->(11、 15.16 、10,19)– 16> 15以降のスワップ
Javaのjitとは
(11.15、 16.10 、19)->(11,15、 10.16 、19)– 16> 10以降のスワップ
(11,15,10,16,19)->(11,15,10,16,19)
ザ・ はソートされていますが、アルゴはそれが完了したかどうかを知りません。したがって、ソートされていることを知るには、スワップなしで別のパス全体が必要です。
3番目のパス:
( 十一、 15.10 、16、19)->(11、 15.10 、16、19)
( 十一、 15.10 、16、19)->(11、 10.15 、16,19)– 15> 10以降の交換
(11,10,15,16,19)->(11,10,15,16,19)
(11,10,15,16,19)->(11,10,15,16,19)
4番目のパス:
(( 11.10 、15、16、19)->( 10.11 、15、16、19)– 11> 10以降の交換
最終出力は(10,11,15,16,19)です
これをコーディングしましょう–
バブルソートを実装するPythonプログラム
a = [16、19、11、15、10、12、14]
Javaの部分文字列とは何ですか
#repeating loop len(a)(number of Elements)range(len(a))内のjの回数:#最初にスワップされたのはfalseスワップされた= False i = 0 while ia [i + 1]:#swapping a [i ]、a [i + 1] = a [i + 1]、a [i]#スワップされたスワップの値の変更= True i = i + 1#スワップされた場合はfalseの場合、リストはソートされます#ループを停止できますスワップされた場合== False:ブレークプリント(a)
出力:
上記のコードでは、隣接する番号を比較し、順序が正しくない場合は交換します。同じプロセスlen(a)を何度も繰り返します。変数「swapped」を割り当て、2つの要素が反復で交換された場合に「True」にしました。また、要素の交換がない場合、リストはすでに並べ替えられているため、「スワップ」の値に変更はなく、ループを中断できます。
これで、「Pythonでバブルソートを実装する方法」というタイトルのブログは終わりです。このコンテンツがPythonの知識に付加価値をもたらすことを願っています。
できるだけ練習し、経験を元に戻してください。質問がありますか?この「Pythonでバブルソートを実装する方法」ブログのコメントセクションでそれについて言及してください。できるだけ早くご連絡いたします。
Pythonとそのさまざまなアプリケーションに関する詳細な知識を得るには、ライブに登録できます。 24時間年中無休のサポートと生涯アクセス。