[Python] 回文かどうか確認する
Python で与えられた文が回文かどうかを確認します。 回文(かいぶん)とは、始めから(通常通り)読んだ場合と終わりから(通常と逆に)読んだ場合とで文字ないし音節の出現する順番が変わらず、なおかつ、言語としてある程度意味が通る文字列のことで、言葉遊びの一種である。英語で...
Python で与えられた文が回文かどうかを確認します。 回文(かいぶん)とは、始めから(通常通り)読んだ場合と終わりから(通常と逆に)読んだ場合とで文字ないし音節の出現する順番が変わらず、なおかつ、言語としてある程度意味が通る文字列のことで、言葉遊びの一種である。英語で...
与えられた配列を逆順にする In-place アルゴリズムを Python で書いてみます。 通常は list.reverse() や list を使います。 考え方は簡単で、左右両端にインデックスを置いて入れ替え、その後一つ狭めてさらに左右両端を入れ替える…と...
基数ソート 基数ソート(きすうソート、英: radix sort)は、「比較によらないソート」のアルゴリズムの一つで、位取り記数法で表現可能な対象について、下の桁から順番にソートしてゆき、最後に最上位桁でソートすると、全体が順序通りに並ぶ、という手法で...
比較ソートと非比較ソート 比較ソートとは、コードに以下のような部分を含む、お互いの要素を比較することによって行われるソートです。 if array < array: swap(array, i, j) 比較ソートは比較によっ...
ハイブリッドアルゴリズム Ahybrid algorithmis analgorithmthat combines two or more other algorithms that solve the same problem, either ch...
マージソート マージソートは、ソートのアルゴリズムで、既に整列してある複数個の列を1個の列にマージする際に、小さいものから先に新しい列に並べれば、新しい列も整列されている、というボトムアップの分割統治法による。大きい列を多数の列に分割し、そのそれぞれを...
クイックソート クイックソート(quicksort) は、1960年にアントニー・ホーアが開発したソートのアルゴリズム。分割統治法の一種。 出典: フリー百科事典『ウィキペディア(Wikipedia)』 良く使われるソートのアルゴリズムです。...
挿入ソート 挿入ソート(インサーションソート)は、ソートのアルゴリズムの一つ。整列してある配列に追加要素を適切な場所に挿入すること。平均計算時間・最悪計算時間がともにO(n2)と遅いが、アルゴリズムが単純で実装が容易なため、しばしば用いられる。 出典...
選択ソート 選択ソート(英: selection sort)は、ソートのアルゴリズムの一つ。配列された要素から、最大値やまたは最小値を探索し配列最後の要素と入れ替えをおこなうこと。最悪計算時間がO(n2)と遅いが、アルゴリズムが単純で実装が容易なため、...
バブルソート バブルソート(bubble sort) は、ソートのアルゴリズムの一つ。隣り合う要素の大小を比較しながら整列させること。最悪計算時間がO(n2)と遅いが、アルゴリズムが単純で実装が容易なため、また並列処理との親和性が高いことから、しばしば用いられる。...