[Python] 線形探索
線形探索 線形探索(せんけいたんさく、英:linear search, sequential search)は、検索のアルゴリズムの一つ。リストや配列に入ったデータに対する検索を行うにあたって、 先頭から順に比較を行い、それが見つかれば終了する。 出典: フリ...
Freedom is a responsible choice.
線形探索 線形探索(せんけいたんさく、英:linear search, sequential search)は、検索のアルゴリズムの一つ。リストや配列に入ったデータに対する検索を行うにあたって、 先頭から順に比較を行い、それが見つかれば終了する。 出典: フリ...
Python でヒープソートを実装します。 ヒープソート ヒープソート(heap sort) とはリストの並べ替えを二分ヒープ木を用いて行うソートのアルゴリズムである(ヒープ領域とは無関係であることに注意する)。 出典: フリー百科事典『ウィキペディア(Wiki...
Python でシェルソートを実装します。 シェルソート シェルソート(改良挿入ソート、英語:Shellsort, Shell sort, Shell's method)は、in-placeな比較ソートのアルゴリズムの一種である。シェルソートは、交換によるソート(...
クラスカル法を用いて、重み付き無向グラフの最小全域木を求めます。 以下の記事の続きです。 プリム法は、ある頂点を選び、その頂点と繋がる辺の中で最小のものを選ぶことで、結果的に最小全域木を得ることができるアルゴリズムです。 クラスカル法は、閉路を作...
プリム法を用いて、重み付き無向グラフの最小全域木を求めます。 プリム法はダイクストラ法とほぼ同じで、コードもダイクストラ法のものをほぼ流用しています。 全域木 全域木とは、グラフの中の全ての頂点を使って作られる木のことです。 全域木(ぜ...
Pythonで、ベルマン–フォード法を使って、重み付きの有向グラフの単一始点最短経路問題を解きます。 以下の続きです。 ダイクストラ法は辺の重みがゼロ以上の場合でしたが、ベルマン–フォード法は辺の重みが負の場合に使われます。 負の閉路がある場合...
Python で、ダイクストラ法を使って、重み付きの有向グラフの単一始点最短経路問題を解きます。 以下の続きです。 ダイクストラ法 ダイクストラ法(だいくすとらほう、英: Dijkstra's algorithm)はグラフ理論における辺の重みが...
Python で重み無しの有向グラフの単一始点最短経路問題を解きます。 以下の続きです。 最短経路問題 グラフ理論における最短経路問題(さいたんけいろもんだい、英:shortest path problem)とは、重み付きグラフの与えられた2つの...
トポロジカルソートを Python で書きます。 以下の続きです。 トポロジカルソート トポロジカルソート(英:topological sort)とは、グラフ理論において、有向非巡回グラフ(英:directed acyclic graph, DA...
無向グラフをBFSで探索するアルゴリズムを Python で記述します。 以下の続きです。 幅優先探索 幅優先探索(はばゆうせんたんさく、英: breadth first search)はグラフ理論(Graph theory)において木構造(...