[Python] 正の整数を逆順にする
Python で正の整数を逆順にします。 文字列として扱うのではなく整数として扱うので、str のような形では行えません。 10による剰余が最下位の桁になり、商が最下位の桁を取り除いた数になるので、ループで商が0になるまで繰り返すことで、最下位の桁から順に取り出すこ...
Freedom is a responsible choice.
Python で正の整数を逆順にします。 文字列として扱うのではなく整数として扱うので、str のような形では行えません。 10による剰余が最下位の桁になり、商が最下位の桁を取り除いた数になるので、ループで商が0になるまで繰り返すことで、最下位の桁から順に取り出すこ...
Python で与えられた文が回文かどうかを確認します。 回文(かいぶん)とは、始めから(通常通り)読んだ場合と終わりから(通常と逆に)読んだ場合とで文字ないし音節の出現する順番が変わらず、なおかつ、言語としてある程度意味が通る文字列のことで、言葉遊びの一種である。英語で...
与えられた配列を逆順にする In-place アルゴリズムを Python で書いてみます。 通常は list.reverse() や list を使います。 考え方は簡単で、左右両端にインデックスを置いて入れ替え、その後一つ狭めてさらに左右両端を入れ替える…と...
基数ソート 基数ソート(きすうソート、英: radix sort)は、「比較によらないソート」のアルゴリズムの一つで、位取り記数法で表現可能な対象について、下の桁から順番にソートしてゆき、最後に最上位桁でソートすると、全体が順序通りに並ぶ、という手法で...
比較ソートと非比較ソート 比較ソートとは、コードに以下のような部分を含む、お互いの要素を比較することによって行われるソートです。 if array < array: swap(array, i, j) 比較ソートは比較によっ...
マージソート マージソートは、ソートのアルゴリズムで、既に整列してある複数個の列を1個の列にマージする際に、小さいものから先に新しい列に並べれば、新しい列も整列されている、というボトムアップの分割統治法による。大きい列を多数の列に分割し、そのそれぞれを...
クイックソート クイックソート(quicksort) は、1960年にアントニー・ホーアが開発したソートのアルゴリズム。分割統治法の一種。 出典: フリー百科事典『ウィキペディア(Wikipedia)』 良く使われるソートのアルゴリズムです。...
挿入ソート 挿入ソート(インサーションソート)は、ソートのアルゴリズムの一つ。整列してある配列に追加要素を適切な場所に挿入すること。平均計算時間・最悪計算時間がともにO(n2)と遅いが、アルゴリズムが単純で実装が容易なため、しばしば用いられる。 出典...
選択ソート 選択ソート(英: selection sort)は、ソートのアルゴリズムの一つ。配列された要素から、最大値やまたは最小値を探索し配列最後の要素と入れ替えをおこなうこと。最悪計算時間がO(n2)と遅いが、アルゴリズムが単純で実装が容易なため、...
プリム法はクラスカル法と同じ最小全域木を探すアルゴリズムです。 最短経路を探すダイクストラ法にとても良く似ています。 プリム法 プリム法とは、グラフ理論で重み付き連結グラフの最小全域木を求める最適化問題のアルゴリズムである。全域木(対象とな...