オンラインショッピング体験を比較しよう
アルゴリズム効率の威力を体験しましょう。用意されたコードを実行して、4つの異なるアルゴリズム(バブルソートと線形探索、クイックソートと二分探索)の性能を比較します。
コーディングは不要です。パラメータを少し変えて、異なる条件での動きを観察しましょう。上部の num_items(オンラインショッピングのカタログに含まれるアイテム数を模擬するパラメータ)を変更してください。
コードを実行して結果を比較し、1000から10000に増やすと、一方の手法がもう一方よりどれだけ時間が長くなるかを確認しましょう。
オンラインのECサイトで価格順に商品リストを並べ替える場面を想像してください。これら2組のアルゴリズムのどちらを使うかで、体験(=速度)がどれほど良くなるかがわかります。
この演習はコースの一部です
コンピュータサイエンスの基礎概念
演習の手順
- 比較したい任意の数に
num_itemsを変更してください。(例:www.amazon.com に1,000点のアイテムがあると想定して、num_items = 1000のようにします。)
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Change this parameter
num_items = 1000
####### Leave the code below this line alone ########
catalog = [random.randint(0, num_items) for _ in range(num_items)]
total_time_bubble_linear = time_bubble_sort_and_linear_search(catalog)
catalog = [random.randint(0, num_items) for _ in range(num_items)]
total_time_quick_binary = time_quick_sort_and_binary_search(catalog)
df = pd.DataFrame({"Method": ["Bubble Sort + Linear Search", "Quick Sort + Binary Search"],
"Total Time (seconds)": [total_time_bubble_linear, total_time_quick_binary]})
print(df)