zatsu na benkyou matome saito

勉強したことをまとめるだけのサイト、数学、プログラミング、機械学習とか

2020-11-25から1日間の記事一覧

データ構造とアルゴリズム:cocktail(シェーカーソート)

cocktail(シェイクソート) カクテルをシェークするような動きをするのでこのような名前がつけられている。bubbleソートの改良版でbubbleソートにかなり類似しておりbubbleソートを振る、ようなイメージ。 まず、左から右に配列を見ていって小さければ入れ…

データ構造とアルゴリズム:本編

アルゴリズムの重要性 GAFAやシリコンバレーの企業面接には絶対にアルゴリズムのコーディング試験があり、1秒でも処理が早くなるのであればアルゴリズムを早い方に書き換えたほうが良い。車の自動運転など瞬間の判断に関わるものは特に反応速度が重要視され…

データ構造とアルゴリズム:Big O Notation (Big O 記法)

アルゴリズムの処理速度を可視化したもの。 O(log(n)) # O(log(n)) def func2(n): if n <= 1: return else: print(n) func2(n/2) func2(10) 10 5.0 2.5 1.25 O(n) # O(n) def func3(numbers): for num in numbers: print(num) func3(range(1,10)) 1 2 3 4 5 …

データ構造とアルゴリズム:Bogoソート

bogo(ボゴソート) ボゴソートはシャッフルに並び替えた後にそのソートが正しく並び替えられているかを確認するソート手法。 def in_orderでは、左側の数字が右側の数字(i+1番目)よりも大きければその時点で並び替えは失敗しているので、return Falseとい…

データ構造とアルゴリズム:Bubbleソート

一番左側から、配列の個数分forループを行い、limitまで到達したら再度左に戻ってきて同じ処理を行う。 その際にlimitの位置は1つ左に移動する。 for j in range(len_numbers - 1)の部分でlimitの移動を再現している。 一番大きい数字は1週目で一番右にくる…