graph-theory

dominating set of a tournament graph

I am writing an algorithm to find the dominating set of a tournament graph. Is the minimum spanning tree of a directed graph equivalent to the dominating set of the graph? In other words, if I find the smallest MST for the tournament graph (by iterating through all of the vertices), can I then say this is equivalent to the dominating set...

euler cycles with biconnected components

if a graph has a Euler cycle do the biconnected components have Euler cycles as well? ...

DFS Tree question

In an undirected graph, can two nodes at an identical distance n from the root of a DFS tree be neighbors in the original graph? I'm thinking no, but I'm not sure (because of back edges) ...

unique path in a directed graph

Hi, I'm designing an algorithm for class that will determine if a graph is unique with respect to a vertex v such that for any u <> v there is at most one path from v to u. I've started by using BFS to find the shortest path from v to another vertex u, and then running BFS again to see if an alternate path can be found from v to u. I th...

How to determine if two nodes are connected?

I'm concerned that this might be working on an NP-Complete problem. I'm hoping someone can give me an answer as to whether it is or not. And I'm looking for more of an answer than just yes or no. I'd like to know why. If you can say,"This is basically this problem 'x' which is/is not NP-Complete. (wikipedia link)" (No this is not homewo...

Paths in undirected graphs

We are given an undirected graph G = (V, E) and two vertices s, t ∈ V . We consider simple paths between s and t. A path is simple if every vertex is visited at most once. Are the following in P or NP-complete? Does an efficient algorithm polynomial time exist for the following? "n" represents the number of vertices in the graph "V" ...

What are some good libraries for graph processing / task scheduling

I'm working on (yet another) to do list program, and part of the problem I want to solve is capturing task dependencies and relative importance. I'm interested in recommendations for libraries / component that help with: Graph processing (including PageRank-like algorithms) Task / project scheduling - edit: note I don't mean OS proc...

Is there a proper algorithm to solve edge-removing problem?

There is a directed graph (not necessarily connected) of which one or more nodes are distinguished as sources. Any node accessible from any one of the sources is considered 'lit'. Now suppose one of the edges is removed. The problem is to determine the nodes that were previously lit and are not lit anymore. An analogy like city electric...

Where can I learn more about "ant colony" optimizations?

I've been reading things here and there for a while now about using an "ant colony" model as a heuristic approach to optimizing various types of algorithms. However, I have yet to find an article or book that discusses ant colony optimizations in an introductory manner, or even in a lot of detail. Can anyone point me at some resources ...

What's a good weighting function?

I'm trying to perform some calculations on a non-directed, cyclic, weighted graph, and I'm looking for a good function to calculate an aggregate weight. Each edge has a distance value in the range [1,∞). The algorithm should give greater importance to lower distances (it should be monotonically decreasing), and it should assign the val...

Efficient reordering of large dataset to maximize memory cache effectiveness

I've been working on a problem which I thought people might find interesting (and perhaps someone is aware of a pre-existing solution). I have a large dataset consisting of a long list of pairs of pointers to objects, something like this: [ (a8576, b3295), (a7856, b2365), (a3566, b5464), ... ] There are way too many objects...

Clique problem algorithm design

One of the assignments in my algorithms class is to design an exhaustive search algorithm to solve the clique problem. That is, given a graph of size n, the algorithm is supposed to determine if there is a complete sub-graph of size k. I think I've gotten the answer, but I can't help but think it could be improved. Here's what I have:...

Algorithm for Finding Redundant Edges in a Graph or Tree

Is there an established algorithm for finding redundant edges in a graph? For example, I'd like to find that a->d and a->e are redundant, and then get rid of them, like this: => Edit: Strilanc was nice enough to read my mind for me. "Redundant" was too strong of a word, since in the example above, neither a->b or a->c is considered ...

Can you suggest a good book on graphs and graph algorithms?

Can you suggest a good book or other resource on graphs and graph algorithms? Something that will cover some basics but also advanced problems and algorithms. ...

How can I compute the minimum bipartite vertex cover?

How can I compute the minimum bipartite vertex cover in C#? Is there a code snippet to do so? EDIT: while the problem is NP-complete for general graphs, it is solvable in polynomial time for bipartite graphs. I know that it's somehow related to maximum matching in bipartite graphs (by Konig's theorem) but I can't understand the theorem ...

Cycles in an Undirected Graph

Given an undirected graph G=(V,E) with n vertices ( |V| = n ), how do you find if it contains a cycle in O(n) ? ...

Every graph node is connected with every other node. There are N * (N - 1)/2 edges.

In a graph, every node is connected with every other node, with no redudant connections. That is, if A->B then B doesn't need to go to A. It is still one connection. I know that there are N * (N - 1)/2 Edges. In a loop, it would look like, for(int i = 0; i < n - 1; i++) for(int j = i + 1; j < n; j++) I can't remember the for...

Finding all cycles in graph

How can I find (iterate over) ALL the cycles in a directed graph from/to a given node? For example, I want something like this: A->B->A A->B->C->A but not: B->C->B ...

When are interfaces needed?

(In the context of .NET for what its worth) I tend to not use inheritance and rarely use interfaces. I came across someone who thinks interfaces are the best thing since spit. He uses them everywhere. I don't understand this and hence the questions that follow. I just want a check on my understanding of interfaces. If you are using...

Algorithms for helping humans choose (kitten war, for instance)

Ok, I'm facing an imminent addition to my family, and working through choice of names. I've considered writing software to display names and force me to choose which I like better, similar to kitten war. Once I've got a huge graph, though, I don't know how to process it, especially if there are cycles. for instance, I like mike better...