タグ

search-algorithmとqiitaに関するnabinnoのブックマーク (3)

  • B-treeインデックス入門 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? B-treeがMySQLで使用されている背景から、B-treeインデックスの構造、そしてそれに基づいたインデックスの使用方法の入門編です。以下の流れに沿ってまとめていきます。 インデックスってなに? B-treeってなんでインデックスに使われているの? B-treeインデックスの構造 インデックスの使用方法 ※ 勉強をかねてまとめていることもあり、間違っている箇所がございましたら教えていただけると嬉しいです。 インデックスってなに? 全体の内容の中から特定部分を探すために使用する、の索引のような概念のことです。これを用いることで、検索

    B-treeインデックス入門 - Qiita
  • 全域木を列挙する - Qiita

    はじめに 約30年前に大学で習った、全域木の列挙アルゴリズムをPythonで実装してみましたので、ご紹介します。 全域木とは、元のグラフの全ての点を含む木のことです。 アルゴリズム グラフの式表現を求めて、式表現を展開して列挙します。 例えば、三角形のグラフで各辺をそれぞれa,b,cとすると、式表現は組(abc)となり、これを展開するとab/ac/bcとなります。 グラフの式表現は以下のように求められます。 辺の最初の式表現として、アルファベット1文字を持たせます。 グラフは、式表現を維持しながら辺または辺と点を削除できます。 グラフが1点になったときに式表現が求められます。 グラフGの式表現(Expr(G))は、任意の1つの辺Eを選んで以下のように変形できます。(標準ルール) Expr(G) = 和(積(組(Expr(E)), Expr(GからEを削除)), 積(Expr(E), Exp

    全域木を列挙する - Qiita
  • P、NP、NP完全、NP困難…似て非なる階層構造 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? コンピューターに問題を解かせるときに、それがどの程度の時間を消費するのかも大きな問題です。この観点から、問題はいくつかのパターンに区分されています。ただし、ややこしいです。 #おことわり なお、分かりやすさを優先して、厳密でない説明となっている部分があります。たとえば、チューリング完全性を前提に、チューリング機械で計算するものを、通常のコンピューターで計算するものとしています。 P ある判定問題(yes/noで答えられる問題)があって、それを解くことのできる多項式時間アルゴリズム(問題の規模に対して、計算時間が規模の多項式で表現される上

    P、NP、NP完全、NP困難…似て非なる階層構造 - Qiita
  • 1