David Musser
   HOME

TheInfoList



OR:

David "Dave" Musser is a professor emeritus of
computer science Computer science is the study of computation, automation, and information. Computer science spans theoretical disciplines (such as algorithms, theory of computation, information theory, and automation) to Applied science, practical discipli ...
at the
Rensselaer Polytechnic Institute Rensselaer Polytechnic Institute () (RPI) is a private research university in Troy, New York, with an additional campus in Hartford, Connecticut. A third campus in Groton, Connecticut closed in 2018. RPI was established in 1824 by Stephen Van ...
in
Troy, New York Troy is a City (New York), city in the U.S. state of New York (state), New York and the county seat of Rensselaer County, New York, Rensselaer County. The city is located on the western edge of Rensselaer County and on the eastern bank of the Huds ...
, United States. He is known for his work in
generic programming Generic programming is a style of computer programming in which algorithms are written in terms of types ''to-be-specified-later'' that are then ''instantiated'' when needed for specific types provided as parameters. This approach, pioneered b ...
, particularly as applied to
C++ C++ (pronounced "C plus plus") is a high-level general-purpose programming language created by Danish computer scientist Bjarne Stroustrup as an extension of the C programming language, or "C with Classes". The language has expanded significan ...
, and his collaboration with
Alexander Stepanov Alexander Alexandrovich Stepanov (russian: Алекса́ндр Алекса́ндрович Степа́нов; born November 16, 1950, Moscow) is a Russian-American computer programmer, best known as an advocate of generic programming and as th ...
. Their work together includes coining the term "generic programming" in , and led to the creation of the C++
Standard Template Library The Standard Template Library (STL) is a software library originally designed by Alexander Stepanov for the C++ programming language that influenced many parts of the C++ Standard Library. It provides four components called ''algorithms'', '' ...
(STL). In , he developed the
sorting algorithm In computer science, a sorting algorithm is an algorithm that puts elements of a list into an order. The most frequently used orders are numerical order and lexicographical order, and either ascending or descending. Efficient sorting is important ...
called
introsort Introsort or introspective sort is a hybrid sorting algorithm that provides both fast average performance and (asymptotically) optimal worst-case performance. It begins with quicksort, it switches to heapsort when the recursion depth exceeds a ...
(also known as introspective sort), and the related
selection algorithm In computer science, a selection algorithm is an algorithm for finding the ''k''th smallest number in a list or array; such a number is called the ''k''th '' order statistic''. This includes the cases of finding the minimum, maximum, and medi ...
called
introselect In computer science, introselect (short for "introspective selection") is a selection algorithm that is a hybrid of quickselect and median of medians which has fast average performance and optimal worst-case performance. Introselect is related ...
, to provide algorithms that are both efficient and have optimal worst-case performance, for use in the STL.Generic Algorithms
, David Musser In 2007 he retired from Rensselaer.


Selected publications

* *


References


External links


David Musser's home page
Year of birth missing (living people) Living people Rensselaer Polytechnic Institute faculty {{compu-scientist-stub