9,663 research outputs found
Incremental Cycle Detection, Topological Ordering, and Strong Component Maintenance
We present two on-line algorithms for maintaining a topological order of a
directed -vertex acyclic graph as arcs are added, and detecting a cycle when
one is created. Our first algorithm handles arc additions in
time. For sparse graphs (), this bound improves the best previous
bound by a logarithmic factor, and is tight to within a constant factor among
algorithms satisfying a natural {\em locality} property. Our second algorithm
handles an arbitrary sequence of arc additions in time. For
sufficiently dense graphs, this bound improves the best previous bound by a
polynomial factor. Our bound may be far from tight: we show that the algorithm
can take time by relating its performance to a
generalization of the -levels problem of combinatorial geometry. A
completely different algorithm running in time was given
recently by Bender, Fineman, and Gilbert. We extend both of our algorithms to
the maintenance of strong components, without affecting the asymptotic time
bounds.Comment: 31 page
Recommended from our members
Proprietary software tools as learning aids
Proprietary software tools, though not designed for educational use, have considerable educational potential. This paper describes, as case studies, the use of proprietary graphics- and audio-editing tools in two distance-taught courses produced by the Department of Information and Communication Technologies at the UK Open University – Europe's largest distance teaching institution. The paper examines the potential advantages and disadvantages of this type of software relative to conventional educational software in terms of constructivist learning theory, and describes how students use the software in the courses concerned. The paper concludes by suggesting further developments of this approach
- …