Results 1  10
of
87
Introduction to Algorithms, second edition
 BOOK
, 2001
"... This part will get you started in thinking about designing and analyzing algorithms.
It is intended to be a gentle introduction to how we specify algorithms, some of the
design strategies we will use throughout this book, and many of the fundamental
ideas used in algorithm analysis. Later parts of t ..."
Abstract

Cited by 707 (3 self)
 Add to MetaCart
This part will get you started in thinking about designing and analyzing algorithms.
It is intended to be a gentle introduction to how we specify algorithms, some of the
design strategies we will use throughout this book, and many of the fundamental
ideas used in algorithm analysis. Later parts of this book will build upon this base.
Chapter 1 is an overview of algorithms and their place in modern computing
systems. This chapter defines what an algorithm is and lists some examples. It also
makes a case that algorithms are a technology, just as are fast hardware, graphical
user interfaces, objectoriented systems, and networks.
In Chapter 2, we see our first algorithms, which solve the problem of sorting
a sequence of n numbers. They are written in a pseudocode which, although not
directly translatable to any conventional programming language, conveys the structure
of the algorithm clearly enough that a competent programmer can implement
it in the language of his choice. The sorting algorithms we examine are insertion
sort, which uses an incremental approach, and merge sort, which uses a recursive
technique known as “divide and conquer.” Although the time each requires increases
with the value of n, the rate of increase differs between the two algorithms.
We determine these running times in Chapter 2, and we develop a useful notation
to express them.
Chapter 3 precisely defines this notation, which we call asymptotic notation. It
starts by defining several asymptotic notations, which we use for bounding algorithm
running times from above and/or below. The rest of Chapter 3 is primarily a
presentation of mathematical notation. Its purpose is more to ensure that your use
of notation matches that in this book than to teach you new mathematical concepts.
Compact routing schemes
 in SPAA ’01: Proceedings of the thirteenth annual ACM symposium on Parallel algorithms and architectures
"... We describe several compact routing schemes for general weighted undirected networks. Our schemes are simple and easy to implement. The routing tables stored at the nodes of the network are all very small. The headers attached to the routed messages, including the name of the destination, are extrem ..."
Abstract

Cited by 196 (7 self)
 Add to MetaCart
We describe several compact routing schemes for general weighted undirected networks. Our schemes are simple and easy to implement. The routing tables stored at the nodes of the network are all very small. The headers attached to the routed messages, including the name of the destination, are extremely short. The routing decision at each node takes constant time. Yet, the stretch of these routing schemes, i.e., the worst ratio between the cost of the path on which a packet is routed and the cost of the cheapest path from source to destination, is a small constant. Our schemes achieve a nearoptimal tradeoff between the size of the routing tables used and the resulting stretch. More specifically, we obtain: 1. A routing scheme that uses only ~ O(n 1=2) bits of memory at each node of an nnode network that has stretch 3. The space is optimal, up to logarithmic factors, in the sense that
HighSpeed Policybased Packet Forwarding Using Efficient Multidimensional Range Matching
 In ACM SIGCOMM
, 1998
"... The ability to provide differentiated services to users with widely varying requirements is becoming increasingly important, and Internet Service Providers would like to provide these differentiated services using the same shared network infrastructure. The key mechanism, that enables differentiatio ..."
Abstract

Cited by 136 (0 self)
 Add to MetaCart
The ability to provide differentiated services to users with widely varying requirements is becoming increasingly important, and Internet Service Providers would like to provide these differentiated services using the same shared network infrastructure. The key mechanism, that enables differentiation in a connectionless network, is the packet classification function that parses the headers of the packets, and after determining their context, classifies them based on administrative policies or realtime reservation decisions. Packet classification, however, is a complex operation that can become the bottleneck in routers that try to support gigabit link capacities. Hence, many proposals for differentiated services only require classification at lower speed edge routers and also avoid classification based on multiple fields in the packet header even if it might be advantageous to service providers. In this paper, we present new packet classification schemes that, with a worstcase and tr...
A Replacement for Voronoi Diagrams of Near Linear Size
 In Proc. 42nd Annu. IEEE Sympos. Found. Comput. Sci
, 2001
"... For a set P of n points in R^d, we define a new type of space decomposition. The new diagram provides an εapproximation to the distance function associated with the Voronoi diagram of P, while being of near linear size, for d ≥ 2. This contrasts with the standard Voronoi diagram that has ..."
Abstract

Cited by 87 (6 self)
 Add to MetaCart
For a set P of n points in R^d, we define a new type of space decomposition. The new diagram provides an εapproximation to the distance function associated with the Voronoi diagram of P, while being of near linear size, for d ≥ 2. This contrasts with the standard Voronoi diagram that has complexity Ω(n^⌈d/2⌉) in the worst case.
Compact and Localized Distributed Data Structures
 JOURNAL OF DISTRIBUTED COMPUTING
, 2001
"... This survey concerns the role of data structures for compactly storing and representing various types of information in a localized and distributed fashion. Traditional approaches to data representation are based on global data structures, which require access to the entire structure even if the sou ..."
Abstract

Cited by 72 (25 self)
 Add to MetaCart
This survey concerns the role of data structures for compactly storing and representing various types of information in a localized and distributed fashion. Traditional approaches to data representation are based on global data structures, which require access to the entire structure even if the sought information involves only a small and local set of entities. In contrast, localized data representation schemes are based on breaking the information into small local pieces, or labels, selected in a way that allows one to infer information regarding a small set of entities directly from their labels, without using any additional (global) information. The survey focuses on combinatorial and algorithmic techniques, and covers complexity results on various applications, including compact localized schemes for message routing in communication networks, and adjacency and distance labeling schemes.
On RAM priority queues
, 1996
"... Priority queues are some of the most fundamental data structures. They are used directly for, say, task scheduling in operating systems. Moreover, they are essential to greedy algorithms. We study the complexity of priority queue operations on a RAM with arbitrary word size. We present exponential i ..."
Abstract

Cited by 70 (9 self)
 Add to MetaCart
Priority queues are some of the most fundamental data structures. They are used directly for, say, task scheduling in operating systems. Moreover, they are essential to greedy algorithms. We study the complexity of priority queue operations on a RAM with arbitrary word size. We present exponential improvements over previous bounds, and we show tight relations to sorting. Our first result is a RAM priority queue supporting insert and extractmin operations in worst case time O(log log n) where n is the current number of keys in the queue. This is an exponential improvement over the O( p log n) bound of Fredman and Willard from STOC'90. Our algorithm is simple, and it only uses AC 0 operations, meaning that there is no hidden time dependency on the word size. Plugging this priority queue into Dijkstra's algorithm gives an O(m log log m) algorithm for the single source shortest path problem on a graph with m edges, as compared with the previous O(m p log m) bound based on Fredman...
Beyond Best Effort: Router Architectures for the Differentiated Services of Tomorrow’s Internet
 IEEE Communications Magazine
, 1998
"... With the transformation of the Internet into a commercial infrastructure, the ability to provide differentiated services to users with widely varying requirements is rapidly becoming as important as meeting the massive increases in bandwidth demand. Hence, while deploying routers, switches, and tran ..."
Abstract

Cited by 69 (0 self)
 Add to MetaCart
With the transformation of the Internet into a commercial infrastructure, the ability to provide differentiated services to users with widely varying requirements is rapidly becoming as important as meeting the massive increases in bandwidth demand. Hence, while deploying routers, switches, and transmission systems of ever increasing capacity, Internet service providers would also like to provide customerspecific differentiated services using the same shared network infrastructure. In this article, we describe router architectures that can support the two trends of rising bandwidth demand and rising demand for differentiated services. We focus on router mechanisms that can support differentiated services at a level not contemplated in proposals currently under consideration due to concern regarding their implementability at high speeds. We consider the types of differentiated services that service providers may want to offer and then discuss the mechanisms needed in routers to support them. We describe plausible implementations of these mechanisms (the scalability and performance of which have been demonstrated by implementation in a prototype system) and argue that it is
New data structures for orthogonal range searching
 In Proc. 41st IEEE Symposium on Foundations of Computer Science
, 2000
"... ..."
Cache Oblivious Search Trees via Binary Trees of Small Height
 In Proc. ACMSIAM Symp. on Discrete Algorithms
, 2002
"... We propose a version of cache oblivious search trees which is simpler than the previous proposal of Bender, Demaine and FarachColton and has the same complexity bounds. In particular, our data structure avoids the use of weight balanced Btrees, and can be implemented as just a single array of ..."
Abstract

Cited by 64 (9 self)
 Add to MetaCart
We propose a version of cache oblivious search trees which is simpler than the previous proposal of Bender, Demaine and FarachColton and has the same complexity bounds. In particular, our data structure avoids the use of weight balanced Btrees, and can be implemented as just a single array of data elements, without the use of pointers. The structure also improves space utilization.
Optimal Bounds for the Predecessor Problem
 In Proceedings of the ThirtyFirst Annual ACM Symposium on Theory of Computing
"... We obtain matching upper and lower bounds for the amount of time to find the predecessor of a given element among the elements of a fixed efficiently stored set. Our algorithms are for the unitcost wordlevel RAM with multiplication and extend to give optimal dynamic algorithms. The lower bounds ar ..."
Abstract

Cited by 63 (0 self)
 Add to MetaCart
We obtain matching upper and lower bounds for the amount of time to find the predecessor of a given element among the elements of a fixed efficiently stored set. Our algorithms are for the unitcost wordlevel RAM with multiplication and extend to give optimal dynamic algorithms. The lower bounds are proved in a much stronger communication game model, but they apply to the cell probe and RAM models and to both static and dynamic predecessor problems.