21/29ページ

21/29ページ

[Python] クイックソートの実装方法とアルゴリズム

Pythonとクイックソート Pythonでクイックソートを実装してみます。Python3.6を使います。 クイックソートは数あるソートアルゴリズムの中でも、実用上最速とされる誉れ高いアルゴリズムです。ただし条件次第で低速になってしまうので注意が必要です。 クイックソートは分割統治法と呼ばれる考え方を使ってソートを行います。まずソート対象のデータ(リスト)について、ピボット(基準値)を選び、その基 […]

[Python] ヒープソートの実装方法とアルゴリズム

ヒープソートの実装方法とアルゴリズム Pythonでヒープソートを実装してみます。Python3.6を使います。 常に最大値(最小値)を取り出すことができるデータ構造があれば、それを使ってソートアルゴリズムが実装できるという考えのもと、考案されたのがヒープソートです。ソートは2分ヒープと呼ばれる木構造を使います。 2分ヒープは2分木で、子ノードが常に親ノードより小さいことが保障される木構造です。し […]

[Python] バブルソート/選択ソート/挿入ソートの速度比較

バブルソート/選択ソート/挿入ソートの速度比較 Pythonで作成した上記ソートアルゴリズムの実装を、処理速度の面から比較してみます。使用するコードは以下のページのものです。 [Python] バブルソートの実装方法とアルゴリズム [Python] 選択ソートの実装方法とアルゴリズム [Python] 挿入ソートの実装方法とアルゴリズム ソートアルゴリズムにはデータによって最良の時間計算量が期待で […]

[Python] 挿入ソートの実装方法とアルゴリズム

Pythonと選択ソート Pythonで挿入ソートを実装してみます。Python3.6を使います。 挿入ソートは、時間計算量 O(n^2) でバブルソートや選択ソートと同じく高速なソートアルゴリズムとは言えません。ただし、挿入ソートについて言えばある面で有用なソートアルゴリズムです。 挿入ソートは要素数の少ないデータに対して、高速に動作する可能性があります。これはクイックソートなど高速なソートアル […]

[Python] バブルソートの実装方法とアルゴリズム

Pythonとバブルソート Pythonをはじめました。いろいろと勉強がてら実装してみます。ここではソートアルゴリズムの最も初歩的なバブルソートを実装します。 Pythonには2系と3系がありますが、Python3.6を使って実装しました。 # バブルソート def bubble_sort(array): n = len(array) for i in range(n-1): for j in r […]

[VB] 三項演算子と短絡評価(IF演算子,IIF関数)

三項演算子とは 三項演算子(条件演算子)とは、条件式の結果により異なる式が評価される演算子です。 真偽値式・真の場合に評価する式・偽の場合に評価する式 からなります。IF~THEM~ELSEと同じようですが、文ではなく式を評価します。 VB.NETの三項演算子 VB.NETの三項演算子は IF演算子 と IIF関数 の2つがあります。この2つの違いは 短絡評価(ショートサーキット)を行うかどうかで […]

[Javascript] ゼロ埋め(ゼロパディング)する方法

javascriptで0埋め(ゼロパディング)する方法 ある数値について、指定桁数まで左にゼロ埋めしたい場合があります。その実現には slice() を利用します。例えば、12 を3桁で0埋めするには次のように書きます。 var a = ("000"+12).slice(-3); // "012" このコードではまず、文字列 “000” とゼロ埋めしたい […]

Javascriptで同じ文字列を繰り返す方法

Javascriptで同じ文字列を繰り返す方法 Javascriptで同じ文字列を繰り返して新しい文字列を生成する方法が知りたかったので調べました。例えば “abc” という文字列を3回繰り返した “abcabcabc” という文字列を取得する方法です。 join()を使う方法 空文字を n+1 個持った配列を用意し、繰り返したい文字列を区切り文字と […]

[Linq] 条件に一致する要素数を数える方法

Linqで条件に一致する要素数を数える方法 Linqを使って、コレクションの中から条件に合うものの数を数える際に、今まではWhere()で条件を絞ってから、Count()をしていました。ですがCount()自体の引数で条件を指定できるのでそちらを利用した方が簡潔だと知りました。 例えば 1~100 の中の偶数の個数を数える処理は次のように書けます。 var count = Enumerable.R […]

1 21 29