Donald B. Johnson
Dartmouth College
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Donald B. Johnson.
Journal of the ACM | 1977
Donald B. Johnson
Algorithms for finding shortest paths are presented which are faster than algorithms previously known on networks which are relatively sparse in arcs. Known results which the results of this paper extend are surveyed briefly and analyzed. A new implementation for priority queues is employed, and a class of “arc set partition” algorithms is introduced. For the single source problem on networks with nonnegative arcs a running time of <italic>O</italic>(min(<italic>n</italic><supscrpt>1+1/<italic>k</italic></supscrpt> + <italic>e</italic>, <italic>n</italic> + <italic>e</italic>) log <italic>n</italic>)) is achieved, where there are <italic>n</italic> nodes and <italic>e</italic> arcs, and <italic>k</italic> is a fixed integer satisfying <italic>k</italic> > 0. This bound is <italic>O</italic>(<italic>e</italic>) on dense networks. For the single source and all pairs problem on unrestricted networks the running time is <italic>O</italic>(min(<italic>n</italic><supscrpt>2+1/<italic>k</italic></supscrpt> + <italic>ne</italic>, <italic>n</italic><supscrpt>2</supscrpt> log <italic>n</italic> + <italic>ne</italic> log <italic>n</italic>).
SIAM Journal on Computing | 1975
Donald B. Johnson
An algorithm is presented which finds all the elementary circuits of a directed graph in time bounded by
Journal of Computer and System Sciences | 1982
Greg N. Frederickson; Donald B. Johnson
O((n + e)(c + 1))
SIAM Journal on Computing | 1984
Greg N. Frederickson; Donald B. Johnson
and space bounded by
Journal of the ACM | 1973
Donald B. Johnson
O(n + e)
Theory of Computing Systems \/ Mathematical Systems Theory | 1981
Donald B. Johnson
, where there are n vertices, e edges and c elementary circuits in the graph. The algorithm resembles algorithms by Tiernan and Tarjan, but is faster because it considers each edge at most twice between any one circuit and the next in the output sequence.
Journal of Algorithms | 1983
Greg N. Frederickson; Donald B. Johnson
The complexity of selection is analyzed for two sets, X + Y and matrices with sorted columns. Algorithms are presented that run in time which depends nontrivially on the rank k of the element to be selected and which is sublinear with respect to set cardinality. Identical bounds are also shown for the problem of ranking elements in these sets, and all bounds are shown to be optimal to within a constant multiplicative factor.
Journal of Algorithms | 1995
Donald B. Johnson; Panagiotis Takis Metaxas
A more general version of the well-known selection problem is formulated, in which constraints on the input set are allowed. Selection (and also ranking) problems are solved optimally for the broad class of inputs constrained to be collections of matrices with sorted rows and sorted columns.The characterization of problem complexity includes an asymptotically significant dependency on the rank of the solution element.
SIAM Journal on Computing | 1978
Donald B. Johnson; Tetsuo Mizoguchi
An assertion that Dijkstras algorithm for shortest paths (adapted to allow arcs of negative weight) runs in <italic>O</italic>(<italic>n</italic><supscrpt>3</supscrpt>) steps is disproved by showing a set of networks which take <italic>O</italic>(<italic>n</italic>2<supscrpt><italic>n</italic></supscrpt>) steps.
foundations of computer science | 1997
Donald B. Johnson; Panagiotis Takis Metaxas
Many computer algorithms have embedded in them a subalgorithm called a priority queue which produces on demand an element of extreme priority among elements in the queue. Queues on unrestricted priority domains have a running time of Θ(nlogn) for sequences ofn queue operations. We describe a simple priority queue over the priority domain {1,⋯,N} in which initialization, insertion, and deletion takeO(loglogD) time, whereD is the difference between the next lowest and next highest priority elements in the queue. In the case of initialization,D=Θ(N). Finding a least element, greatest element, and the neighbor in priority order of some specified element take constant time. We also consider dynamic space allocation for the data structures used. Space can be allocated in blocks of size Θ(N1/p), for small integerp.