絞り込み条件を変更する
検索条件を絞り込む

すべてのブログから「#バブルソート」タグの検索結果

2 件中 1 - 2 件表示
カバー画像

週間プログラミング⑤:バブルソートを可視化してみよう

今回はバブルソートを可視化してみましょう。ソートとはアルゴリズムにおけるソートとは、数字や文字の並べ替えのことを指します。より一般的には、数値の並べ替えのことをソートということが多いです。例えば1 5 2 4という数列を1 2 4 5や5 4 2 1と並べ直すのがソートです。バブルソートとはソートには様々なアルゴリズムがあるのですが、その中でも特に直感的でわかりやすいのがバブルソートです。私たちが数字を大きい順に並べ替えるとき、数字が一番大きいものを中から見つけてを、それを左側に寄せていくということを繰り替えすと思います。つまり、次のような数列があったとき2 9 4 5このように、2 4 9 5↓2 4 5 9と並べ替えるはずです。このように、大きい数字が右側に登っていく様を「バブル」と表現します。先にこの記事の成果物を示しましょう。赤い棒が「泡」のように右側に登っていくのが分かると思います。バブルソートのコーディングバブルソートの可視化GIFアニメーションを作っていきます。モジュール類まずモジュール類をインポートします#乱数発生import random #作図import matplotlib.pyplot as plt #ディレクトリの操作import os #GIFの作成from PIL import Image GIFの素材画像と出力先の設定#シミュレーション結果の出力先 di = "./" pics = di + "bubble_sort_pics/" gif = di + "simulation_results/" #のフォルダ作成 try:     os.mkd
0
カバー画像

ソート・探索・計算量 ― プログラムとアルゴリズムの基礎を身につける【データサイエンスを支える情報工学入門②】

前回は、コンピュータの基本的な仕組みとデータベースについて紹介しました。第2回となる今回は、データを扱うための基礎技術として、「アルゴリズム」と「プログラミング」の基本を見ていきます。地味に思えるかもしれませんが、この2つは「アルゴリズムとデータ構造をどうするか」がプログラミングの本質だと言われるくらい、コンピュータサイエンスの土台になる考え方です。アルゴリズムとは何かアルゴリズムとは、問題一般に対して、指示通りに実行すれば有限回数で解が得られる(解がない場合は、解がないことが示される)手順のことです。ちなみにこの「アルゴリズム」という言葉自体、9世紀のペルシャの数学者アル・フワーリズミー(al-Khwarizmi)という人名が語源になっているそうです。もっとも古いアルゴリズムの一つとされるのが、紀元前300年ごろに登場したとされる「ユークリッドの互除法」です。これは、2つの整数の最大公約数(GCD)を求めるアルゴリズムで、手順は次の通りです。入力を数 m, n とするもし n = 0 ならば、解は m として停止m を n で割った余りを a とすると、m を n に、n を a に更新し、1に戻るこの手順のポイントは、「任意の数に対して動作する」「必ず停止する」という2点です。実際に、48と18の最大公約数を求めてみましょう。m=48, n=18 → 48÷18の余りは12 → m=18, n=12に更新m=18, n=12 → 18÷12の余りは6 → m=12, n=6に更新m=12, n=6 → 12÷6の余りは0 → m=6, n=0に更新n=0になったので停止。答
0
2 件中 1 - 2