Results 1 
4 of
4
Engineering Radix Sort
 COMPUTING SYSTEMS
, 1993
"... Radix sorting methods have excellent asymptotic performance on string data, for which comparison is not a unittime operation. Attractive for use in large byteaddressable memories, these methods have nevertheless long been eclipsed by more easily programmed algorithms. Three ways to sort strings by ..."
Abstract

Cited by 15 (0 self)
 Add to MetaCart
Radix sorting methods have excellent asymptotic performance on string data, for which comparison is not a unittime operation. Attractive for use in large byteaddressable memories, these methods have nevertheless long been eclipsed by more easily programmed algorithms. Three ways to sort strings by bytes left to righta stable list sort, a stable twoarray sort, and an inplace "American flag" sortare illustrated with practical C programs. For heavyduty sorting, all three perform comparably, usually running at least twice as fast as a good quicksort. We recommend American flag sort for general use.
Parallel Algorithms For Maximum Subsequence And Maximum Subarray
, 1995
"... Given a sequence Q of n numbers (positive and negative), the maximum subsequence of Q is the contiguous subsequence that has the maximum sum among all contiguous subsequences of Q. Given a twodimensional array A of n \Theta n numbers (positive and negative), the maximum subarray of A is the con ..."
Abstract

Cited by 9 (0 self)
 Add to MetaCart
Given a sequence Q of n numbers (positive and negative), the maximum subsequence of Q is the contiguous subsequence that has the maximum sum among all contiguous subsequences of Q. Given a twodimensional array A of n \Theta n numbers (positive and negative), the maximum subarray of A is the contiguous subarray that has the maximum sum among all contiguous subarrays of A. We present two O(log n)time parallel algorithmsone for finding the maximum subsequence sum of a given sequence, and the other for finding the maximum subarray sum of a given array. The former is optimal on an EREW PRAM. The latter is optimal on a CREW PRAM, in the sense that the timeprocessor product matches the current sequential upperbound of O(n 3 ).
Teaching Theoretical Computer Science at the Undergraduate Level: Experiences, Observations, and Proposals to Improve the Status Quo
"... Theoretical computer science is a difficult subject to teach at the undergraduate level for several reasons. Although it is often a required course for graduation, theoretical computer science has the reputation of being a "tough course, " so most undergraduates postpone taking it until ab ..."
Abstract
 Add to MetaCart
Theoretical computer science is a difficult subject to teach at the undergraduate level for several reasons. Although it is often a required course for graduation, theoretical computer science has the reputation of being a "tough course, " so most undergraduates postpone taking it until absolutely necessary, namely, during their senior year. To compound the problem, many students who enter the course have very little theoretical or mathematical background. If the material is not motivated enough in its presentation to the students, the students quickly drown in the terminology and the abundant technical notation, loosing their interest and patience in the process. Since theoretical models constitute an extensive infrastructure upon which rests much of computer science, it is crucial that undergraduates acquire an appreciation of these concepts before they leave school. Based on observations I made while being involved in teaching this course at UCLA for several quarters, I have developed and used some teaching techniques which have been quite successful, both in increasing student interest, as well as in enhancing their understanding of the material. Finally, to help combat declining academic standards, I propose and describe a new course to be added to existing computer science curricula, namely mathematical maturity and problem solving.
Engineering Radix Sort
"... ABSTRACT Radix sorting methods have excellent asymptotic performance on string data, for which comparison is not a unittime operation. Attractive for use in large byteaddressable memories, these methods have nevertheless long been eclipsed by more easily prograÍrmed algorithms. Three ways to sort ..."
Abstract
 Add to MetaCart
ABSTRACT Radix sorting methods have excellent asymptotic performance on string data, for which comparison is not a unittime operation. Attractive for use in large byteaddressable memories, these methods have nevertheless long been eclipsed by more easily prograÍrmed algorithms. Three ways to sort strings by bytes left to righta stable list sort, a stable twoarray sort, and an inplace "American flag " sor¿are illustrated with practical C programs. For heavyduty sorting, all three perform comparably, usually running at least twice as fast as a good quicksort. We recommend American flag sort for general use. For sorting strings you can't beat radix ss¡fs ¡ so the theory says. The idea is simple. Deal the strings into piles by their first letters. One