Matches in SemOpenAlex for { <https://semopenalex.org/work/W2271738862> ?p ?o ?g. }
Showing items 1 to 63 of
63
with 100 items per page.
- W2271738862 abstract "This thesis studies several problems that arise from combining theory and practice in algorithmics, in particular, when considering requirements in software libraries, The well-known Standard Template Library (STL) of the C++ programming language is the common thread of this research. We have tackled fundamental problems in algorithmics, such as sorting and selection, sequences and dictionaries. This aim has been achieved using varied, intertwined and evolving approaches, in particular, partially influenced by fast and radical changes in technology.Most of the contributions concern generic algorithms and data structures that take advantage of the processing capabilities of modern computers. First of all, we present cache-conscious implementations of STL lists. Taking advantage of the properties of memory hierarchies, very good performance is obtained for traversal-based operations. But like typical STL doubly linked list implementations, they keep up with the required cost for operations as well as with the validity of iterators at all times. Besides, we present several practical algorithms for multi-core computers. Specifically, we describe parallel algorithms for the construction and insertion of many elements at a time into red-black trees. These algorithms use (a) constant-cost index computations to access the elements, as it is the case for some existing algorithms in the PRAM model, (b) split and union operations on trees, and (c) parallel load-balancing techniques. The implementation extends a red-black tree codification of STL dictionaries in the GCC compiler. The experiments show the practicability of this approach. In addition, motivated by efficiently preprocessing the input of the aforementioned bulk operations in dictionaries, we describe a general online algorithm for partitioning sequences whose size is unknown. Our algorithm is interesting from both a theoretical and practical perspective.Furthermore, we have devised new variants of algorithms by exploiting the reusing of computations. In particular, we consider the parallel partitioning of an array with respect to a pivot element. We present practical algorithms that can be used to implement STL partition. These are the first such algorithms that perform an optimal number of comparisons, i.e., one per element. Later, we show that this property is particularly useful when the elements are strings and partitioning is repetitively used and in a hierarchical way, as in quicksort and quickselect. Specifically, we show big performance improvements combining parallel quicksort and quickselect with existing techniques to avoid redundant character comparisons. Furthermore, the resulting algorithms can be used to specialize STL sort and nth_element, respectively. Moreover, we highlight that some of the comparisons made in this kind of algorithms and data structures do not need to access the actual strings. Under the common assumption of a pointer string implementation, this is very relevant from a cache-conscious perspective. In this sense, we analytically quantify the number of string lookups in so modified binary search trees, quicksort and quickselect. Also, we analyze the benefits of adding some redundancy on the top of these algorithms and data structures.Finally, we present and analyze multikey quickselect, the analog of multikey quicksort for the selection problem for strings. This algorithm is efficient with respect to the number of character comparisons, it is in-place and it is easy to implement. In particular, it can be used to specialize nth_element for strings. We present an analysis of its cost, measuring both the number of comparisons and the number of swaps, under a random uniform distribution. Last but not least, we propose several enhanced variants, that can be also applied to multikey quicksort." @default.
- W2271738862 created "2016-06-24" @default.
- W2271738862 creator A5061397855 @default.
- W2271738862 date "2010-01-01" @default.
- W2271738862 modified "2023-09-24" @default.
- W2271738862 title "Sata structures libraries" @default.
- W2271738862 hasPublicationYear "2010" @default.
- W2271738862 type Work @default.
- W2271738862 sameAs 2271738862 @default.
- W2271738862 citedByCount "0" @default.
- W2271738862 crossrefType "journal-article" @default.
- W2271738862 hasAuthorship W2271738862A5061397855 @default.
- W2271738862 hasConcept C11413529 @default.
- W2271738862 hasConcept C138101251 @default.
- W2271738862 hasConcept C140745168 @default.
- W2271738862 hasConcept C162319229 @default.
- W2271738862 hasConcept C169590947 @default.
- W2271738862 hasConcept C173608175 @default.
- W2271738862 hasConcept C199360897 @default.
- W2271738862 hasConcept C26713055 @default.
- W2271738862 hasConcept C34628019 @default.
- W2271738862 hasConcept C34736171 @default.
- W2271738862 hasConcept C41008148 @default.
- W2271738862 hasConcept C80444323 @default.
- W2271738862 hasConceptScore W2271738862C11413529 @default.
- W2271738862 hasConceptScore W2271738862C138101251 @default.
- W2271738862 hasConceptScore W2271738862C140745168 @default.
- W2271738862 hasConceptScore W2271738862C162319229 @default.
- W2271738862 hasConceptScore W2271738862C169590947 @default.
- W2271738862 hasConceptScore W2271738862C173608175 @default.
- W2271738862 hasConceptScore W2271738862C199360897 @default.
- W2271738862 hasConceptScore W2271738862C26713055 @default.
- W2271738862 hasConceptScore W2271738862C34628019 @default.
- W2271738862 hasConceptScore W2271738862C34736171 @default.
- W2271738862 hasConceptScore W2271738862C41008148 @default.
- W2271738862 hasConceptScore W2271738862C80444323 @default.
- W2271738862 hasLocation W22717388621 @default.
- W2271738862 hasOpenAccess W2271738862 @default.
- W2271738862 hasPrimaryLocation W22717388621 @default.
- W2271738862 hasRelatedWork W1510185076 @default.
- W2271738862 hasRelatedWork W1555246147 @default.
- W2271738862 hasRelatedWork W2182350118 @default.
- W2271738862 hasRelatedWork W2208548551 @default.
- W2271738862 hasRelatedWork W2227630426 @default.
- W2271738862 hasRelatedWork W2286334329 @default.
- W2271738862 hasRelatedWork W2434820933 @default.
- W2271738862 hasRelatedWork W2547401688 @default.
- W2271738862 hasRelatedWork W2754245834 @default.
- W2271738862 hasRelatedWork W2900346471 @default.
- W2271738862 hasRelatedWork W2935117511 @default.
- W2271738862 hasRelatedWork W2952391359 @default.
- W2271738862 hasRelatedWork W2963442784 @default.
- W2271738862 hasRelatedWork W3013054135 @default.
- W2271738862 hasRelatedWork W3041171185 @default.
- W2271738862 hasRelatedWork W3121363172 @default.
- W2271738862 hasRelatedWork W3145069317 @default.
- W2271738862 hasRelatedWork W3154212860 @default.
- W2271738862 hasRelatedWork W1969159317 @default.
- W2271738862 hasRelatedWork W2188329473 @default.
- W2271738862 isParatext "false" @default.
- W2271738862 isRetracted "false" @default.
- W2271738862 magId "2271738862" @default.
- W2271738862 workType "article" @default.