アルゴリズム ビジュアル大辞典のアルゴリズムをPython, Goで実装する [線形探索、二分探索]
これらの続きです。
mattsun-plapla.hatenablog.com
mattsun-plapla.hatenablog.com
やること
こちらの書籍に記載されるアルゴリズムをPython, Goで実装してみます。
(Goはまだまだホントに初学者です)
- 作者:渡部 有隆,ニコライ・ミレンコフ
- 発売日: 2020/03/20
- メディア: Kindle版
リバース
配列など指定された範囲の要素を逆順にすること。
ちょうど真ん中の要素は逆順にならないのでそのまま固定する。
真ん中を軸として対応する左右2つの要素を交換(スワップ)する。
計算量は配列のサイズの半分O(N/2) つまりO(N)である。
N個の要素をもつ配列に対して、左右それぞれの要素をi, j とすると、
i = 0, 1, 2, 3... N/2-1
j = N - (i + 1) = N - i - 1
となる。