algorithmvertex-coverternary-treeternary-search

Find minimun Vertext-Cover using a ternary tree


I found some algorithms to find a minimun Vertex-Cover like using a binary search tree but I read that using a ternary tree is even better. But i can't find any info about it or think of an algorithm for it.

Does somebody know how it can be done?


Solution

  • Given a graph, choose an arbitrary edge uv to be the pivot. The three branches of the ternary search tree are where (1) we take u but not v (2) we take v but not u (3) we take both u and v. In case (1) we're forced to take v's neighbors, and in case (2) we're forced to take u's neighbors. To construct a subproblem, delete the vertices that were taken and their incident edges.