• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<html>
2<head>
3<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
4<title>Bibliography</title>
5<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
6<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
7<link rel="home" href="../../../index.html" title="Boost.Sort">
8<link rel="up" href="../spreadsort.html" title="2.1.-Spreadsort">
9<link rel="prev" href="acks.html" title="Acknowledgements">
10<link rel="next" href="history.html" title="History">
11</head>
12<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
13<table cellpadding="2" width="100%"><tr>
14<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
15<td align="center"><a href="../../../../../../../index.html">Home</a></td>
16<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
17<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
18<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
19<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
20</tr></table>
21<hr>
22<div class="spirit-nav">
23<a accesskey="p" href="acks.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../spreadsort.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="history.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
24</div>
25<div class="section">
26<div class="titlepage"><div><div><h4 class="title">
27<a name="sort.single_thread.spreadsort.bibliog"></a><a class="link" href="bibliog.html" title="Bibliography">Bibliography</a>
28</h4></div></div></div>
29<h5>
30<a name="sort.single_thread.spreadsort.bibliog.h0"></a>
31          <span class="phrase"><a name="sort.single_thread.spreadsort.bibliog.standard_template_library_sort_a"></a></span><a class="link" href="bibliog.html#sort.single_thread.spreadsort.bibliog.standard_template_library_sort_a">Standard
32          Template Library Sort Algorithms</a>
33        </h5>
34<p>
35          <a href="http://www.cplusplus.com/reference/algorithm/sort/" target="_top">C++ STL
36          sort algorithms</a>.
37        </p>
38<h5>
39<a name="sort.single_thread.spreadsort.bibliog.h1"></a>
40          <span class="phrase"><a name="sort.single_thread.spreadsort.bibliog.radix_sort"></a></span><a class="link" href="bibliog.html#sort.single_thread.spreadsort.bibliog.radix_sort">Radix
41          Sort</a>
42        </h5>
43<p>
44          A type of algorithm that sorts based upon distribution instead of by comparison.
45          Wikipedia has an article about Radix Sorting. A more detailed description
46          of various Radix Sorting algorithms is provided here:
47        </p>
48<p>
49          Donald Knuth. The Art of Computer Programming, Volume 3: Sorting and Searching,
50          Second Edition. Addison-Wesley, 1998. ISBN 0-201-89685-0. Section 5.2.5:
51          Sorting by Distribution, pp.168-179.
52        </p>
53<h5>
54<a name="sort.single_thread.spreadsort.bibliog.h2"></a>
55          <span class="phrase"><a name="sort.single_thread.spreadsort.bibliog.introsort"></a></span><a class="link" href="bibliog.html#sort.single_thread.spreadsort.bibliog.introsort">Introsort</a>
56        </h5>
57<p>
58          A high-speed comparison-based sorting algorithm that takes <span class="emphasis"><em>��(N
59          * log(N))</em></span> time. See <a href="http://en.wikipedia.org/wiki/Introsort" target="_top">introsort</a>
60          and Musser, David R. (1997). "Introspective Sorting and Selection
61          Algorithms", Software: Practice and Experience (Wiley) 27 (8), pp
62          983-993, available at <a href="http://www.cs.rpi.edu/~musser/gp/introsort.ps" target="_top">Musser
63          Introsort</a>.
64        </p>
65<h5>
66<a name="sort.single_thread.spreadsort.bibliog.h3"></a>
67          <span class="phrase"><a name="sort.single_thread.spreadsort.bibliog.american_flag_sort"></a></span><a class="link" href="bibliog.html#sort.single_thread.spreadsort.bibliog.american_flag_sort">American
68          Flag Sort</a>
69        </h5>
70<p>
71          A high-speed hybrid string sorting algorithm that <code class="literal"><code class="computeroutput"><a class="link" href="../../../boost/sort/spreadsort/string_s_idm45878543797168.html" title="Function template string_sort">string_sort</a></code></code>
72          is partially based upon. See <a href="http://en.wikipedia.org/wiki/American_flag_sort" target="_top">American
73          flag sort</a> and Peter M. McIlroy, Keith Bostic, M. Douglas McIlroy.
74          Engineering Radix Sort, Computing Systems 1993.
75        </p>
76<h5>
77<a name="sort.single_thread.spreadsort.bibliog.h4"></a>
78          <span class="phrase"><a name="sort.single_thread.spreadsort.bibliog.adaptive_left_radix_arl"></a></span><a class="link" href="bibliog.html#sort.single_thread.spreadsort.bibliog.adaptive_left_radix_arl">Adaptive
79          Left Radix (ARL)</a>
80        </h5>
81<p>
82          ARL (Adaptive Left Radix) is a hybrid cache-friendly integer sorting algorithm
83          with comparable speed on random data to <code class="literal"><code class="computeroutput"><a class="link" href="../../../boost/sort/spreadsort/integer__idm45878544022768.html" title="Function template integer_sort">integer_sort</a></code></code>,
84          but does not have the optimizations for worst-case performance, causing
85          it to perform poorly on certain types of unevenly distributed data.
86        </p>
87<p>
88          Arne Maus, <a href="http://www.nik.no/2002/Maus.pdf" target="_top">ARL, a faster in-place,
89          cache friendly sorting algorithm</a>, presented at NIK2002, Norwegian
90          Informatics Conference, Kongsberg, 2002. Tapir, ISBN 82-91116-45-8.
91        </p>
92<h5>
93<a name="sort.single_thread.spreadsort.bibliog.h5"></a>
94          <span class="phrase"><a name="sort.single_thread.spreadsort.bibliog.original_spreadsort"></a></span><a class="link" href="bibliog.html#sort.single_thread.spreadsort.bibliog.original_spreadsort">Original
95          Spreadsort</a>
96        </h5>
97<p>
98          The algorithm that <code class="literal"><code class="computeroutput"><a class="link" href="../../../boost/sort/spreadsort/integer__idm45878544022768.html" title="Function template integer_sort">integer_sort</a></code></code>
99          was originally based on. <code class="literal"><code class="computeroutput"><a class="link" href="../../../boost/sort/spreadsort/integer__idm45878544022768.html" title="Function template integer_sort">integer_sort</a></code></code>
100          uses a smaller number of key bits at a time for better cache efficiency
101          than the method described in the paper. The importance of cache efficiency
102          grew as CPU clock speeds increased while main memory latency stagnated.
103          See Steven J. Ross, The Spreadsort High-performance General-case Sorting
104          Algorithm, Parallel and Distributed Processing Techniques and Applications,
105          Volume 3, pp.1100-1106. Las Vegas Nevada. 2002. See <a href="../../../../../doc/papers/original_spreadsort06_2002.pdf" target="_top">Steven
106          Ross spreadsort_2002</a>.
107        </p>
108</div>
109<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
110<td align="left"></td>
111<td align="right"><div class="copyright-footer">Copyright © 2014-2017 Steven
112      Ross, Francisco Tapia, Orson Peters<p>
113        Distributed under the <a href="http://boost.org/LICENSE_1_0.txt" target="_top">Boost
114        Software License, Version 1.0</a>.
115      </p>
116</div></td>
117</tr></table>
118<hr>
119<div class="spirit-nav">
120<a accesskey="p" href="acks.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../spreadsort.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="history.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
121</div>
122</body>
123</html>
124