@@ -20,12 +20,12 @@ bibliography: paper.bib
20
20
# Summary
21
21
22
22
The standard library of popular languages like C++, Java, and C# provide sorted
23
- container data types based on binary tree data structures. While Python has
24
- risen in popularity, the Standard Library still lacks these common data types.
25
- Part of the challenge has been Python's rich object model which makes binary
26
- trees implemented in Python slow in terms of both memory and processor
27
- usage. To overcome the overhead of the interpreter, C-extensions are used by
28
- the Python core developers. In doing so, flexibility is tradeoff for
23
+ container data types based on binary tree data structures. While Python
24
+ [ - @ python ] has risen in popularity, the Standard Library still lacks these
25
+ common data types. Part of the challenge has been Python's rich object model
26
+ which makes binary trees implemented in Python slow in terms of both memory and
27
+ processor usage. To overcome the overhead of the interpreter, C-extensions are
28
+ used by the Python core developers. In doing so, flexibility is tradeoff for
29
29
performance. The goal of the Python core developers is to provide the right set
30
30
of high-level APIs so that algorithms and data structures can be implemented
31
31
efficiently. The Python Sorted Containers library uses Python's high-level APIs
@@ -64,26 +64,27 @@ object-oriented interface. Externally, SQLite in-memory indexes, Pandas
64
64
DataFrame indexes, and Redis sorted sets provide similar functionality. These
65
65
data structures are applied in priority queue, multiset, nearest neighbors,
66
66
intervals, and ranking algorithms. Sorted Containers is used by scientific open
67
- source projects such as: Angr, a binary analysis platform from UC Santa
68
- Barbara; Astropy, a community Python package for astronomy; Dask Distributed , a
69
- library for dynamic task scheduling by Anaconda; Trio, an asynchronous I/O
70
- library; and Zipline, an algorithmic trading library by Quantopian. The source
71
- code for `` Sorted Containers `` has been archived to Zenodo with the linked DOI:
72
- [ @ zenodo ]
67
+ source projects such as: Angr [ - @ angr-shoshitaishvili2016state ] , a binary
68
+ analysis platform from UC Santa Barbara; Astropy [ - @ astropy :2018 ] , a community
69
+ Python package for astronomy; Dask Distributed
70
+ [ - @ dask -matthew_rocklin-proc-scipy-2015 ] , a library for dynamic task scheduling
71
+ by Anaconda; Trio [ - @ trio ] , an asynchronous I/O library; and Zipline
72
+ [ - @ zipline ] , an algorithmic trading library by Quantopian.
73
73
74
74
# Acknowledgements
75
75
76
- Thank you to Daniel Stutzbach for the "blist" software project to which Sorted
77
- Containers owes much of the original interface design.
76
+ Thank you to Daniel Stutzbach for the "blist" [ - @ blist ] software project to
77
+ which Sorted Containers owes much of the original interface design.
78
78
79
- Thank you to Raymond Hettinger for the "SortedCollection" recipe which
80
- originally inspired the support and design of the "key" parameter feature.
79
+ Thank you to Raymond Hettinger for the "SortedCollection" recipe
80
+ [ -@sortedcollection ] which originally inspired the support and design of the
81
+ "key" parameter feature.
81
82
82
- Thank you to Manfred Moitzi for the "bintrees" software project which motivated
83
- the range-based tree traversal interfaces.
83
+ Thank you to Manfred Moitzi for the "bintrees" software project [ - @ bintrees ]
84
+ which motivated the range-based tree traversal interfaces.
84
85
85
86
Thank you to Dan Stromberg for the benchmark comparisons of less common binary
86
- tree data structures like treap, splay, and scapegoat.
87
+ tree data structures [ - @ dan-stromberg ] like treap, splay, and scapegoat.
87
88
88
89
Thank you to the open source community that has contributed bug reports,
89
90
documentation improvements, and feature guidance in development of the project.
0 commit comments