【join】bash/シェルスクリプトマニアックコマンドあれこれ5
joinコマンド join は、2つのテキストファイルの内容を比較し、共通する項目がある行を連結するコマンドです。 例えば、 1つ目のテキス…
joinコマンド join は、2つのテキストファイルの内容を比較し、共通する項目がある行を連結するコマンドです。 例えば、 1つ目のテキス…
pasteコマンド pasteコマンドは、複数のファイルを行単位で連結するコマンドです。 $ pasteファイル1 ファイル2 で「ファイル…
乱数や連番を作成する jotコマンド 連番を生成する 文字列と組み合わせた連番を作成する printf のフォーマットで出力する 連番の範囲を指定して出力する 乱数を出力する jotコマ…
rev コマンド すべての行の文字の順序を逆にする 次の例に示すように、すべての行で文字の順序を逆にします。 tac コマンドはファイルの各…
tacコマンド tac コマンドはファイルの内容を逆順に出力するコマンドです。 最後の行が最初に表示されます。 tac という言葉は、cat…
名著紹介 これほどまでシンプルに「UNIX/Linuxとは」について書かれた本はない。 「エンジニアとしての信念はUNIXである」とはどうい…
ソート これまで、バブルソート、選択ソート、挿入ソート、マージソート、シェルソート、クイックソートを学習してきました。 【バブルソート】 h…
クイックソート クイックソートは、誰もが人気ナンバーワンと認めるソートアルゴリズムです。 クイックソート 理由として、クイックソートは多くの…
シェルソート シェルソートは、挿入ソートの欠点を補う形で考案されたソートアルゴリズムです。 シェルソート シェル=貝殻 というのは「がせ情報…
マージソート マージソートは、これまで紹介した「バブルソート」「挿入ソート」「選択ソート」と比べると、少なくともスピードの点ではずっと高速で…
配列とリスト これまで配列について説明してきました。 配列で再帰を組む方法を前回説明しました。 配列は 非順序配列は探索が遅い 順序配列は挿…
NQueenのロジックを研究してます。NQueenを別のアプローチから検証するためにアルゴリズムの勉強をはじめました。まずは基礎からで経路探索へ向かいたいと考えています。試行錯誤したことを備忘録として日記に追加することにしました。 10月12日 今マージソートを勉強しているのですが難しいので日記をつけて整理することにしました。 プログラムソースは以下です。 https://github.com/suzukiiichiro/Algorithms-And-Data-Structures/blob/master/Bash/05_1MergeSort.sh ロジ…
再帰 実行している関数自身の関数の処理内で、自分自身である関数を呼び出し実行することです。 再帰は必ず基底条件を明示する必要があります。 (…
キュー キューはデータ構造の一つです。 キューは待ち行列とも呼ばれ、その名の通り行列に並ぶ事を考えるとイメージしやすいです。 行列においては…
スタック スタックはデータ構造の一つです。 スタックの仕組みは、ものを縦に積み上げる事を考えるとイメージしやすいです。 積み上げられた山から…
挿入ソート 挿入ソートとは、未整列の要素を一つずつつまみ上げて、整列済みの列の適切な位置に挿入していくアルゴリズムです。 挿入ソートは、選択…
選択ソート 選択ソートは、未整列の配列要素の中から最小を選択し、配列先頭の整列済み列の末尾に追加していく並べ替えアルゴリズムです。 バブルソ…
バブルソート バブルソートは単純選択方法と同様、実現は簡単です。 しかし、比較回数と交換回数は最悪の場合、O(N^2)です。 ソート中に選ば…
Bash/シェルスクリプトで学ぶビッグオー ビッグオーとは? オーダー記法です。 オーダー記法とは、「計算量の割合」です。 例)Aさんの年齢…
はじめに さて。 前回の章では、アルゴリズムを勉強していくためのもととなるテンプレートとして、配列に値を入れる仕組みと、配列の中身を表示する…