Avoid using Combinatorica if you can. It is not supported any more and therefore not easy to use. It also shadows (= "conflicts with") several builtin functions.
There is indeed some functionality which is only available in Combinatorica. If you do need to use it, prefix your function/symbol names with the appropriate context to disambiguate whether you want the builtin one or the Combinatorica one. It's best if you always do this with symbol names that are coloured red.
It is also a good idea to get the Pemmaraju & Skiena book as there is no other documentation for Combinatorica.
The most important thing to keep in mind: System`Graph
and Combinatorica
Graph`` are two distinct, unrelated and incompatible things. They cannot be mixed. Builtin functions work on builtin graphs only. Combinatorica functions work on Combinatorica graphs only.
You can convert between them using the GraphUtilities package.
Example:
<< Combinatorica`
<< GraphUtilities`
At this point, do not refer to Graph
anymore without explicitly specifying which one you mean.
Writing Graph[{1<->2}]
is no longer valid because Graph
now refers to Combinatorica`Graph
. So let's be explicit from now on.
g = System`Graph[{1 <-> 2}]
Combinatorica`MinimumVertexColoring[
ToCombinatoricaGraph[g]
]
(* {1, 2} *)
If you work with graph, also take a look at my IGraph/M package which provides graph-related functionality not available with builtins. It is an interface to igraph.