Sorting strings and constructing digital search trees in parallel

We describe two simple optimal-work parallel algorithms for sorting a list L= ( X 1, X 2, …, X m ) of m strings over an arbitrary alphabet Σ, where ∑ i = 1 m¦X i¦ = n and two elements of Σ can be compared in unit time using a single processor. The first algorithm is a deterministic algorithm that ru...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:Theoretical computer science 1996-02, Vol.154 (2), p.225-245
Hauptverfasser: JáJá, Joseph F., Ryu, Kwan Woo, Vishkin, Uzi
Format: Artikel
Sprache:eng
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
container_end_page 245
container_issue 2
container_start_page 225
container_title Theoretical computer science
container_volume 154
creator JáJá, Joseph F.
Ryu, Kwan Woo
Vishkin, Uzi
description We describe two simple optimal-work parallel algorithms for sorting a list L= ( X 1, X 2, …, X m ) of m strings over an arbitrary alphabet Σ, where ∑ i = 1 m¦X i¦ = n and two elements of Σ can be compared in unit time using a single processor. The first algorithm is a deterministic algorithm that runs in O( log 2 m/ log log m) time and the second is a randomized algorithm that runs in O( logm) time. Both algorithms use O( m log m + n) operations. Compared to the best-known parallel algorithms for sorting strings, our algorithms offer the following improvements. 1. 1. The total number of operations used by our algorithms is optimal while all previous parallel algorithms use a nonoptimal number of operations. 2. 2. We make no assumption about the alphabet while the previous algorithms assume that the alphabet is restricted to {1, 2, …, n o(1) }. 3. 3. The computation model assumed by our algorithms is the Common CRCW PRAM unlike the known algorithms that assume the Arbitrary CRCW PRAM. 4. 4. Our algorithms use O( m log m + n) space, while the previous parallel algorithms use O( n 1 + ε ) space, where ε is a positive constant. We also present optimal-work parallel algorithms to construct a digital search tree for a given set of strings and to search for a string in a sorted list of strings. We use our parallel sorting algorithms to solve the problem of determining a minimal starting point of a circular string with respect to lexicographic ordering. Our solution improves upon the previous best-known result to solve this problem.
doi_str_mv 10.1016/0304-3975(94)00263-0
format Article
fullrecord <record><control><sourceid>proquest_cross</sourceid><recordid>TN_cdi_proquest_miscellaneous_23846761</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><els_id>0304397594002630</els_id><sourcerecordid>23846761</sourcerecordid><originalsourceid>FETCH-LOGICAL-c381t-49995d097e5adc7d99437a5aed36648eab8608441a816efa437f911b2f4278bc3</originalsourceid><addsrcrecordid>eNp9kE1LAzEQhoMoWKv_wENOoofVZJPNx0UoxS8oeFDPIU1ma2S7W5NU8N-bbcWjc3mZed8ZmAehc0quKaHihjDCK6Zlc6n5FSG1YBU5QBOqpK7qWvNDNPmLHKOTlD5IqUaKCZq9DDGHfoVTjkUStr3HbuhLu3U7w4dVyLbDCWx07zhHgIRDjzc22q6D7hQdtbZLcParU_R2f_c6f6wWzw9P89mickzRXHGtdeOJltBY76TXmjNpGwueCcEV2KUSRHFOraICWlvcVlO6rFteS7V0bIou9nc3cfjcQspmHZKDrrM9DNtkaqa4kIKWIN8HXRxSitCaTQxrG78NJWbkZUYYZoRhNDc7XmU0Rbf7NShPfAWIJrkAvQMfIrhs_BD-P_ADNOBxew</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype><pqid>23846761</pqid></control><display><type>article</type><title>Sorting strings and constructing digital search trees in parallel</title><source>Access via ScienceDirect (Elsevier)</source><source>EZB-FREE-00999 freely available EZB journals</source><creator>JáJá, Joseph F. ; Ryu, Kwan Woo ; Vishkin, Uzi</creator><creatorcontrib>JáJá, Joseph F. ; Ryu, Kwan Woo ; Vishkin, Uzi</creatorcontrib><description>We describe two simple optimal-work parallel algorithms for sorting a list L= ( X 1, X 2, …, X m ) of m strings over an arbitrary alphabet Σ, where ∑ i = 1 m¦X i¦ = n and two elements of Σ can be compared in unit time using a single processor. The first algorithm is a deterministic algorithm that runs in O( log 2 m/ log log m) time and the second is a randomized algorithm that runs in O( logm) time. Both algorithms use O( m log m + n) operations. Compared to the best-known parallel algorithms for sorting strings, our algorithms offer the following improvements. 1. 1. The total number of operations used by our algorithms is optimal while all previous parallel algorithms use a nonoptimal number of operations. 2. 2. We make no assumption about the alphabet while the previous algorithms assume that the alphabet is restricted to {1, 2, …, n o(1) }. 3. 3. The computation model assumed by our algorithms is the Common CRCW PRAM unlike the known algorithms that assume the Arbitrary CRCW PRAM. 4. 4. Our algorithms use O( m log m + n) space, while the previous parallel algorithms use O( n 1 + ε ) space, where ε is a positive constant. We also present optimal-work parallel algorithms to construct a digital search tree for a given set of strings and to search for a string in a sorted list of strings. We use our parallel sorting algorithms to solve the problem of determining a minimal starting point of a circular string with respect to lexicographic ordering. Our solution improves upon the previous best-known result to solve this problem.</description><identifier>ISSN: 0304-3975</identifier><identifier>EISSN: 1879-2294</identifier><identifier>DOI: 10.1016/0304-3975(94)00263-0</identifier><language>eng</language><publisher>Elsevier B.V</publisher><ispartof>Theoretical computer science, 1996-02, Vol.154 (2), p.225-245</ispartof><rights>1996</rights><lds50>peer_reviewed</lds50><oa>free_for_read</oa><woscitedreferencessubscribed>false</woscitedreferencessubscribed><citedby>FETCH-LOGICAL-c381t-49995d097e5adc7d99437a5aed36648eab8608441a816efa437f911b2f4278bc3</citedby><cites>FETCH-LOGICAL-c381t-49995d097e5adc7d99437a5aed36648eab8608441a816efa437f911b2f4278bc3</cites></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><linktohtml>$$Uhttps://dx.doi.org/10.1016/0304-3975(94)00263-0$$EHTML$$P50$$Gelsevier$$Hfree_for_read</linktohtml><link.rule.ids>315,781,785,3551,27929,27930,46000</link.rule.ids></links><search><creatorcontrib>JáJá, Joseph F.</creatorcontrib><creatorcontrib>Ryu, Kwan Woo</creatorcontrib><creatorcontrib>Vishkin, Uzi</creatorcontrib><title>Sorting strings and constructing digital search trees in parallel</title><title>Theoretical computer science</title><description>We describe two simple optimal-work parallel algorithms for sorting a list L= ( X 1, X 2, …, X m ) of m strings over an arbitrary alphabet Σ, where ∑ i = 1 m¦X i¦ = n and two elements of Σ can be compared in unit time using a single processor. The first algorithm is a deterministic algorithm that runs in O( log 2 m/ log log m) time and the second is a randomized algorithm that runs in O( logm) time. Both algorithms use O( m log m + n) operations. Compared to the best-known parallel algorithms for sorting strings, our algorithms offer the following improvements. 1. 1. The total number of operations used by our algorithms is optimal while all previous parallel algorithms use a nonoptimal number of operations. 2. 2. We make no assumption about the alphabet while the previous algorithms assume that the alphabet is restricted to {1, 2, …, n o(1) }. 3. 3. The computation model assumed by our algorithms is the Common CRCW PRAM unlike the known algorithms that assume the Arbitrary CRCW PRAM. 4. 4. Our algorithms use O( m log m + n) space, while the previous parallel algorithms use O( n 1 + ε ) space, where ε is a positive constant. We also present optimal-work parallel algorithms to construct a digital search tree for a given set of strings and to search for a string in a sorted list of strings. We use our parallel sorting algorithms to solve the problem of determining a minimal starting point of a circular string with respect to lexicographic ordering. Our solution improves upon the previous best-known result to solve this problem.</description><issn>0304-3975</issn><issn>1879-2294</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>1996</creationdate><recordtype>article</recordtype><recordid>eNp9kE1LAzEQhoMoWKv_wENOoofVZJPNx0UoxS8oeFDPIU1ma2S7W5NU8N-bbcWjc3mZed8ZmAehc0quKaHihjDCK6Zlc6n5FSG1YBU5QBOqpK7qWvNDNPmLHKOTlD5IqUaKCZq9DDGHfoVTjkUStr3HbuhLu3U7w4dVyLbDCWx07zhHgIRDjzc22q6D7hQdtbZLcParU_R2f_c6f6wWzw9P89mickzRXHGtdeOJltBY76TXmjNpGwueCcEV2KUSRHFOraICWlvcVlO6rFteS7V0bIou9nc3cfjcQspmHZKDrrM9DNtkaqa4kIKWIN8HXRxSitCaTQxrG78NJWbkZUYYZoRhNDc7XmU0Rbf7NShPfAWIJrkAvQMfIrhs_BD-P_ADNOBxew</recordid><startdate>19960205</startdate><enddate>19960205</enddate><creator>JáJá, Joseph F.</creator><creator>Ryu, Kwan Woo</creator><creator>Vishkin, Uzi</creator><general>Elsevier B.V</general><scope>6I.</scope><scope>AAFTH</scope><scope>AAYXX</scope><scope>CITATION</scope><scope>7SC</scope><scope>8FD</scope><scope>JQ2</scope><scope>L7M</scope><scope>L~C</scope><scope>L~D</scope></search><sort><creationdate>19960205</creationdate><title>Sorting strings and constructing digital search trees in parallel</title><author>JáJá, Joseph F. ; Ryu, Kwan Woo ; Vishkin, Uzi</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-c381t-49995d097e5adc7d99437a5aed36648eab8608441a816efa437f911b2f4278bc3</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>1996</creationdate><toplevel>peer_reviewed</toplevel><toplevel>online_resources</toplevel><creatorcontrib>JáJá, Joseph F.</creatorcontrib><creatorcontrib>Ryu, Kwan Woo</creatorcontrib><creatorcontrib>Vishkin, Uzi</creatorcontrib><collection>ScienceDirect Open Access Titles</collection><collection>Elsevier:ScienceDirect:Open Access</collection><collection>CrossRef</collection><collection>Computer and Information Systems Abstracts</collection><collection>Technology Research Database</collection><collection>ProQuest Computer Science Collection</collection><collection>Advanced Technologies Database with Aerospace</collection><collection>Computer and Information Systems Abstracts – Academic</collection><collection>Computer and Information Systems Abstracts Professional</collection><jtitle>Theoretical computer science</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>JáJá, Joseph F.</au><au>Ryu, Kwan Woo</au><au>Vishkin, Uzi</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>Sorting strings and constructing digital search trees in parallel</atitle><jtitle>Theoretical computer science</jtitle><date>1996-02-05</date><risdate>1996</risdate><volume>154</volume><issue>2</issue><spage>225</spage><epage>245</epage><pages>225-245</pages><issn>0304-3975</issn><eissn>1879-2294</eissn><abstract>We describe two simple optimal-work parallel algorithms for sorting a list L= ( X 1, X 2, …, X m ) of m strings over an arbitrary alphabet Σ, where ∑ i = 1 m¦X i¦ = n and two elements of Σ can be compared in unit time using a single processor. The first algorithm is a deterministic algorithm that runs in O( log 2 m/ log log m) time and the second is a randomized algorithm that runs in O( logm) time. Both algorithms use O( m log m + n) operations. Compared to the best-known parallel algorithms for sorting strings, our algorithms offer the following improvements. 1. 1. The total number of operations used by our algorithms is optimal while all previous parallel algorithms use a nonoptimal number of operations. 2. 2. We make no assumption about the alphabet while the previous algorithms assume that the alphabet is restricted to {1, 2, …, n o(1) }. 3. 3. The computation model assumed by our algorithms is the Common CRCW PRAM unlike the known algorithms that assume the Arbitrary CRCW PRAM. 4. 4. Our algorithms use O( m log m + n) space, while the previous parallel algorithms use O( n 1 + ε ) space, where ε is a positive constant. We also present optimal-work parallel algorithms to construct a digital search tree for a given set of strings and to search for a string in a sorted list of strings. We use our parallel sorting algorithms to solve the problem of determining a minimal starting point of a circular string with respect to lexicographic ordering. Our solution improves upon the previous best-known result to solve this problem.</abstract><pub>Elsevier B.V</pub><doi>10.1016/0304-3975(94)00263-0</doi><tpages>21</tpages><oa>free_for_read</oa></addata></record>
fulltext fulltext
identifier ISSN: 0304-3975
ispartof Theoretical computer science, 1996-02, Vol.154 (2), p.225-245
issn 0304-3975
1879-2294
language eng
recordid cdi_proquest_miscellaneous_23846761
source Access via ScienceDirect (Elsevier); EZB-FREE-00999 freely available EZB journals
title Sorting strings and constructing digital search trees in parallel
url https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2024-12-16T12%3A42%3A52IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-proquest_cross&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=Sorting%20strings%20and%20constructing%20digital%20search%20trees%20in%20parallel&rft.jtitle=Theoretical%20computer%20science&rft.au=J%C3%A1J%C3%A1,%20Joseph%20F.&rft.date=1996-02-05&rft.volume=154&rft.issue=2&rft.spage=225&rft.epage=245&rft.pages=225-245&rft.issn=0304-3975&rft.eissn=1879-2294&rft_id=info:doi/10.1016/0304-3975(94)00263-0&rft_dat=%3Cproquest_cross%3E23846761%3C/proquest_cross%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_pqid=23846761&rft_id=info:pmid/&rft_els_id=0304397594002630&rfr_iscdi=true