https://en.wikipedia.org/w/index.php?action=history&feed=atom&title=External_memory_algorithm External memory algorithm - Revision history 2025-05-25T08:04:37Z Revision history for this page on the wiki MediaWiki 1.45.0-wmf.2 https://en.wikipedia.org/w/index.php?title=External_memory_algorithm&diff=1270502931&oldid=prev Cornmazes at 21:20, 19 January 2025 2025-01-19T21:20:32Z <p></p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="en"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Previous revision</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 21:20, 19 January 2025</td> </tr><tr> <td colspan="2" class="diff-lineno">Line 1:</td> <td colspan="2" class="diff-lineno">Line 1:</td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>{{short description|Algorithms for processing data too large to fit into a computer's main memory at once}}</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>In [[computing]], '''external memory algorithms''' or '''out-of-core algorithms''' are [[algorithms]] that are designed to process data that are too large to fit into a computer's [[main memory]] at once. Such algorithms must be optimized to efficiently fetch and access data stored in slow bulk memory ([[auxiliary memory]]) such as [[hard drives]] or [[tape drives]], or when memory is on a [[computer network]].&lt;ref&gt;{{Cite journal|author=Vitter, J. S.|title=External Memory Algorithms and Data Structures: Dealing with MASSIVE DATA|journal= ACM Computing Surveys|volume= 33|issue=2|pages=209–271| year= 2001|doi=10.1145/384192.384193|citeseerx=10.1.1.42.7064|s2cid=2155038}}&lt;/ref&gt;&lt;ref name="Vitter"&gt;{{Cite book|author=Vitter, J. S.|url=http://www.ittc.ku.edu/~jsv/Papers/Vit.IO_book.pdf|title=Algorithms and Data Structures for External Memory|journal=Foundations and Trends in Theoretical Computer Science |volume=2|issue=4|pages=305–474|series=Series on Foundations and Trends in Theoretical Computer Science|publisher=Now Publishers|location=Hanover, MA|year=2008|doi=10.1561/0400000014|isbn=978-1-60198-106-6|citeseerx=10.1.1.140.3731}}&lt;/ref&gt; External memory algorithms are analyzed in the '''external memory model'''.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>In [[computing]], '''external memory algorithms''' or '''out-of-core algorithms''' are [[algorithms]] that are designed to process data that are too large to fit into a computer's [[main memory]] at once. Such algorithms must be optimized to efficiently fetch and access data stored in slow bulk memory ([[auxiliary memory]]) such as [[hard drives]] or [[tape drives]], or when memory is on a [[computer network]].&lt;ref&gt;{{Cite journal|author=Vitter, J. S.|title=External Memory Algorithms and Data Structures: Dealing with MASSIVE DATA|journal= ACM Computing Surveys|volume= 33|issue=2|pages=209–271| year= 2001|doi=10.1145/384192.384193|citeseerx=10.1.1.42.7064|s2cid=2155038}}&lt;/ref&gt;&lt;ref name="Vitter"&gt;{{Cite book|author=Vitter, J. S.|url=http://www.ittc.ku.edu/~jsv/Papers/Vit.IO_book.pdf|title=Algorithms and Data Structures for External Memory|journal=Foundations and Trends in Theoretical Computer Science |volume=2|issue=4|pages=305–474|series=Series on Foundations and Trends in Theoretical Computer Science|publisher=Now Publishers|location=Hanover, MA|year=2008|doi=10.1561/0400000014|isbn=978-1-60198-106-6|citeseerx=10.1.1.140.3731}}&lt;/ref&gt; External memory algorithms are analyzed in the '''external memory model'''.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> </table> Cornmazes https://en.wikipedia.org/w/index.php?title=External_memory_algorithm&diff=1222814748&oldid=prev Headbomb: ce 2024-05-08T02:22:41Z <p>ce</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="en"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Previous revision</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 02:22, 8 May 2024</td> </tr><tr> <td colspan="2" class="diff-lineno">Line 1:</td> <td colspan="2" class="diff-lineno">Line 1:</td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>In [[computing]], '''external memory algorithms''' or '''out-of-core algorithms''' are [[algorithms]] that are designed to process data that are too large to fit into a computer's [[main memory]] at once. Such algorithms must be optimized to efficiently fetch and access data stored in slow bulk memory ([[auxiliary memory]]) such as [[hard drives]] or [[tape drives]], or when memory is on a [[computer network]].&lt;ref&gt;{{Cite journal|author=Vitter, J. S.|title=External Memory Algorithms and Data Structures: Dealing with MASSIVE DATA|journal= ACM Computing Surveys|volume= 33|issue=2|pages=209–271| year= 2001|doi=10.1145/384192.384193|citeseerx=10.1.1.42.7064|s2cid=2155038}}&lt;/ref&gt;&lt;ref name="Vitter"&gt;{{Cite book|author=Vitter, J. S.|url=http://www.ittc.ku.edu/~jsv/Papers/Vit.IO_book.pdf|title=Algorithms and Data Structures for External Memory|journal=Foundations and Trends<del style="font-weight: bold; text-decoration: none;">®</del> in Theoretical Computer Science |volume=2|issue=4|pages=305–474|series=Series on Foundations and Trends in Theoretical Computer Science|publisher=Now Publishers|location=Hanover, MA|year=2008|doi=10.1561/0400000014|isbn=978-1-60198-106-6|citeseerx=10.1.1.140.3731}}&lt;/ref&gt; External memory algorithms are analyzed in the '''external memory model'''.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>In [[computing]], '''external memory algorithms''' or '''out-of-core algorithms''' are [[algorithms]] that are designed to process data that are too large to fit into a computer's [[main memory]] at once. Such algorithms must be optimized to efficiently fetch and access data stored in slow bulk memory ([[auxiliary memory]]) such as [[hard drives]] or [[tape drives]], or when memory is on a [[computer network]].&lt;ref&gt;{{Cite journal|author=Vitter, J. S.|title=External Memory Algorithms and Data Structures: Dealing with MASSIVE DATA|journal= ACM Computing Surveys|volume= 33|issue=2|pages=209–271| year= 2001|doi=10.1145/384192.384193|citeseerx=10.1.1.42.7064|s2cid=2155038}}&lt;/ref&gt;&lt;ref name="Vitter"&gt;{{Cite book|author=Vitter, J. S.|url=http://www.ittc.ku.edu/~jsv/Papers/Vit.IO_book.pdf|title=Algorithms and Data Structures for External Memory|journal=Foundations and Trends in Theoretical Computer Science |volume=2|issue=4|pages=305–474|series=Series on Foundations and Trends in Theoretical Computer Science|publisher=Now Publishers|location=Hanover, MA|year=2008|doi=10.1561/0400000014|isbn=978-1-60198-106-6|citeseerx=10.1.1.140.3731}}&lt;/ref&gt; External memory algorithms are analyzed in the '''external memory model'''.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Model ==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Model ==</div></td> </tr> </table> Headbomb https://en.wikipedia.org/w/index.php?title=External_memory_algorithm&diff=1214299979&oldid=prev Citation bot: Added journal. | Use this bot. Report bugs. | Suggested by Abductive | Category:Analysis of algorithms | #UCB_Category 42/47 2024-03-18T03:22:58Z <p>Added journal. | <a href="/wiki/Wikipedia:UCB" class="mw-redirect" title="Wikipedia:UCB">Use this bot</a>. <a href="/wiki/Wikipedia:DBUG" class="mw-redirect" title="Wikipedia:DBUG">Report bugs</a>. | Suggested by Abductive | <a href="/wiki/Category:Analysis_of_algorithms" title="Category:Analysis of algorithms">Category:Analysis of algorithms</a> | #UCB_Category 42/47</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="en"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Previous revision</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 03:22, 18 March 2024</td> </tr><tr> <td colspan="2" class="diff-lineno">Line 1:</td> <td colspan="2" class="diff-lineno">Line 1:</td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>In [[computing]], '''external memory algorithms''' or '''out-of-core algorithms''' are [[algorithms]] that are designed to process data that are too large to fit into a computer's [[main memory]] at once. Such algorithms must be optimized to efficiently fetch and access data stored in slow bulk memory ([[auxiliary memory]]) such as [[hard drives]] or [[tape drives]], or when memory is on a [[computer network]].&lt;ref&gt;{{Cite journal|author=Vitter, J. S.|title=External Memory Algorithms and Data Structures: Dealing with MASSIVE DATA|journal= ACM Computing Surveys|volume= 33|issue=2|pages=209–271| year= 2001|doi=10.1145/384192.384193|citeseerx=10.1.1.42.7064|s2cid=2155038}}&lt;/ref&gt;&lt;ref name="Vitter"&gt;{{Cite book|author=Vitter, J. S.|url=http://www.ittc.ku.edu/~jsv/Papers/Vit.IO_book.pdf|title=Algorithms and Data Structures for External Memory|volume=2|issue=4|pages=305–474|series=Series on Foundations and Trends in Theoretical Computer Science|publisher=Now Publishers|location=Hanover, MA|year=2008|doi=10.1561/0400000014|isbn=978-1-60198-106-6|citeseerx=10.1.1.140.3731}}&lt;/ref&gt; External memory algorithms are analyzed in the '''external memory model'''.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>In [[computing]], '''external memory algorithms''' or '''out-of-core algorithms''' are [[algorithms]] that are designed to process data that are too large to fit into a computer's [[main memory]] at once. Such algorithms must be optimized to efficiently fetch and access data stored in slow bulk memory ([[auxiliary memory]]) such as [[hard drives]] or [[tape drives]], or when memory is on a [[computer network]].&lt;ref&gt;{{Cite journal|author=Vitter, J. S.|title=External Memory Algorithms and Data Structures: Dealing with MASSIVE DATA|journal= ACM Computing Surveys|volume= 33|issue=2|pages=209–271| year= 2001|doi=10.1145/384192.384193|citeseerx=10.1.1.42.7064|s2cid=2155038}}&lt;/ref&gt;&lt;ref name="Vitter"&gt;{{Cite book|author=Vitter, J. S.|url=http://www.ittc.ku.edu/~jsv/Papers/Vit.IO_book.pdf|title=Algorithms and Data Structures for External Memory<ins style="font-weight: bold; text-decoration: none;">|journal=Foundations and Trends® in Theoretical Computer Science </ins>|volume=2|issue=4|pages=305–474|series=Series on Foundations and Trends in Theoretical Computer Science|publisher=Now Publishers|location=Hanover, MA|year=2008|doi=10.1561/0400000014|isbn=978-1-60198-106-6|citeseerx=10.1.1.140.3731}}&lt;/ref&gt; External memory algorithms are analyzed in the '''external memory model'''.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Model ==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Model ==</div></td> </tr> </table> Citation bot https://en.wikipedia.org/w/index.php?title=External_memory_algorithm&diff=1187240393&oldid=prev PetraMagna: cite book should not have a journal; duplicate of series parameter 2023-11-28T01:39:04Z <p>cite book should not have a journal; duplicate of series parameter</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="en"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Previous revision</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 01:39, 28 November 2023</td> </tr><tr> <td colspan="2" class="diff-lineno">Line 1:</td> <td colspan="2" class="diff-lineno">Line 1:</td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>In [[computing]], '''external memory algorithms''' or '''out-of-core algorithms''' are [[algorithms]] that are designed to process data that are too large to fit into a computer's [[main memory]] at once. Such algorithms must be optimized to efficiently fetch and access data stored in slow bulk memory ([[auxiliary memory]]) such as [[hard drives]] or [[tape drives]], or when memory is on a [[computer network]].&lt;ref&gt;{{Cite journal|author=Vitter, J. S.|title=External Memory Algorithms and Data Structures: Dealing with MASSIVE DATA|journal= ACM Computing Surveys|volume= 33|issue=2|pages=209–271| year= 2001|doi=10.1145/384192.384193|citeseerx=10.1.1.42.7064|s2cid=2155038}}&lt;/ref&gt;&lt;ref name="Vitter"&gt;{{Cite book|author=Vitter, J. S.|url=http://www.ittc.ku.edu/~jsv/Papers/Vit.IO_book.pdf|title=Algorithms and Data Structures for External Memory<del style="font-weight: bold; text-decoration: none;">|journal=Foundations and Trends in Theoretical Computer Science</del>|volume=2|issue=4|pages=305–474|series=Series on Foundations and Trends in Theoretical Computer Science|publisher=Now Publishers|location=Hanover, MA|year=2008|doi=10.1561/0400000014|isbn=978-1-60198-106-6|citeseerx=10.1.1.140.3731}}&lt;/ref&gt; External memory algorithms are analyzed in the '''external memory model'''.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>In [[computing]], '''external memory algorithms''' or '''out-of-core algorithms''' are [[algorithms]] that are designed to process data that are too large to fit into a computer's [[main memory]] at once. Such algorithms must be optimized to efficiently fetch and access data stored in slow bulk memory ([[auxiliary memory]]) such as [[hard drives]] or [[tape drives]], or when memory is on a [[computer network]].&lt;ref&gt;{{Cite journal|author=Vitter, J. S.|title=External Memory Algorithms and Data Structures: Dealing with MASSIVE DATA|journal= ACM Computing Surveys|volume= 33|issue=2|pages=209–271| year= 2001|doi=10.1145/384192.384193|citeseerx=10.1.1.42.7064|s2cid=2155038}}&lt;/ref&gt;&lt;ref name="Vitter"&gt;{{Cite book|author=Vitter, J. S.|url=http://www.ittc.ku.edu/~jsv/Papers/Vit.IO_book.pdf|title=Algorithms and Data Structures for External Memory|volume=2|issue=4|pages=305–474|series=Series on Foundations and Trends in Theoretical Computer Science|publisher=Now Publishers|location=Hanover, MA|year=2008|doi=10.1561/0400000014|isbn=978-1-60198-106-6|citeseerx=10.1.1.140.3731}}&lt;/ref&gt; External memory algorithms are analyzed in the '''external memory model'''.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Model ==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Model ==</div></td> </tr> </table> PetraMagna https://en.wikipedia.org/w/index.php?title=External_memory_algorithm&diff=1180384365&oldid=prev Cedar101: /* Algorithms */ \frac 2023-10-16T08:45:50Z <p><span class="autocomment">Algorithms: </span> \frac</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="en"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Previous revision</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 08:45, 16 October 2023</td> </tr><tr> <td colspan="2" class="diff-lineno">Line 10:</td> <td colspan="2" class="diff-lineno">Line 10:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Algorithms in the external memory model take advantage of the fact that retrieving one object from external memory retrieves an entire block of size {{mvar|B}}. This property is sometimes referred to as locality.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Algorithms in the external memory model take advantage of the fact that retrieving one object from external memory retrieves an entire block of size {{mvar|B}}. This property is sometimes referred to as locality.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Searching for an element among {{mvar|N}} objects is possible in the external memory model using a [[B-tree]] with branching factor {{mvar|B}}. Using a B-tree, searching, insertion, and deletion can be achieved in &lt;math&gt;O(\<del style="font-weight: bold; text-decoration: none;">log _B</del> N)&lt;/math&gt; time (in [[Big O notation]]). [[Information theory|Information theoretically]], this is the minimum [[running time]] possible for these operations, so using a B-tree is [[asymptotically optimal]].&lt;ref name="Aggarwal88"/&gt;</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Searching for an element among {{mvar|N}} objects is possible in the external memory model using a [[B-tree]] with branching factor {{mvar|B}}. Using a B-tree, searching, insertion, and deletion can be achieved in &lt;math&gt;O(\<ins style="font-weight: bold; text-decoration: none;">log_B</ins> N)&lt;/math&gt; time (in [[Big O notation]]). [[Information theory|Information theoretically]], this is the minimum [[running time]] possible for these operations, so using a B-tree is [[asymptotically optimal]].&lt;ref name="Aggarwal88"/&gt;</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>[[External sorting]] is sorting in an external memory setting. External sorting can be done via distribution sort, which is similar to [[quicksort]], or via a &lt;math&gt;\tfrac{M}{B}&lt;/math&gt;[[K-way merge algorithm|-way merge sort]]. Both variants achieve the [[asymptotically optimal]] runtime of &lt;math&gt;O\left(\<del style="font-weight: bold; text-decoration: none;">tfrac</del>{N}{B} \log _{\<del style="font-weight: bold; text-decoration: none;">tfrac</del>{M}{B}} \<del style="font-weight: bold; text-decoration: none;">tfrac</del>{N}{B}\right)&lt;/math&gt; to sort {{mvar|N}} objects. This bound also applies to the [[fast Fourier transform]] in the external memory model.&lt;ref name="Vitter"/&gt;</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>[[External sorting]] is sorting in an external memory setting. External sorting can be done via distribution sort, which is similar to [[quicksort]], or via a &lt;math&gt;\tfrac{M}{B}&lt;/math&gt;[[K-way merge algorithm|-way merge sort]]. Both variants achieve the [[asymptotically optimal]] runtime of &lt;math&gt;O\left(\<ins style="font-weight: bold; text-decoration: none;">frac</ins>{N}{B} \log _{\<ins style="font-weight: bold; text-decoration: none;">frac</ins>{M}{B}} \<ins style="font-weight: bold; text-decoration: none;">frac</ins>{N}{B}\right)&lt;/math&gt; to sort {{mvar|N}} objects. This bound also applies to the [[fast Fourier transform]] in the external memory model.&lt;ref name="Vitter"/&gt;</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>The permutation problem is to rearrange {{mvar|N}} elements into a specific [[permutation]]. This can either be done either by sorting, which requires the above sorting runtime, or inserting each element in order and ignoring the benefit of locality. Thus, permutation can be done in &lt;math&gt;O\left(\min \left(N, \<del style="font-weight: bold; text-decoration: none;">tfrac</del>{N}{B} \log _{\<del style="font-weight: bold; text-decoration: none;">tfrac</del>{M}{B}} \<del style="font-weight: bold; text-decoration: none;">tfrac</del>{N}{B}\right)\right)&lt;/math&gt; time.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>The permutation problem is to rearrange {{mvar|N}} elements into a specific [[permutation]]. This can either be done either by sorting, which requires the above sorting runtime, or inserting each element in order and ignoring the benefit of locality. Thus, permutation can be done in &lt;math&gt;O\left(\min \left(N, \<ins style="font-weight: bold; text-decoration: none;">frac</ins>{N}{B} \log _{\<ins style="font-weight: bold; text-decoration: none;">frac</ins>{M}{B}} \<ins style="font-weight: bold; text-decoration: none;">frac</ins>{N}{B}\right)\right)&lt;/math&gt; time.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Applications ==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Applications ==</div></td> </tr> </table> Cedar101 https://en.wikipedia.org/w/index.php?title=External_memory_algorithm&diff=1180384162&oldid=prev Cedar101: /* Algorithms */ \left \right 2023-10-16T08:43:23Z <p><span class="autocomment">Algorithms: </span> \left \right</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="en"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Previous revision</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 08:43, 16 October 2023</td> </tr><tr> <td colspan="2" class="diff-lineno">Line 8:</td> <td colspan="2" class="diff-lineno">Line 8:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Algorithms ==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Algorithms ==</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Algorithms in the external memory model take advantage of the fact that retrieving one object from external memory retrieves an entire block of size <del style="font-weight: bold; text-decoration: none;">&lt;math&gt;</del>B<del style="font-weight: bold; text-decoration: none;">&lt;/math&gt;</del>. This property is sometimes referred to as locality.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Algorithms in the external memory model take advantage of the fact that retrieving one object from external memory retrieves an entire block of size <ins style="font-weight: bold; text-decoration: none;">{{mvar|</ins>B<ins style="font-weight: bold; text-decoration: none;">}}</ins>. This property is sometimes referred to as locality.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Searching for an element among <del style="font-weight: bold; text-decoration: none;">&lt;math&gt;</del>N<del style="font-weight: bold; text-decoration: none;">&lt;/math&gt;</del> objects is possible in the external memory model using a [[B-tree]] with branching factor <del style="font-weight: bold; text-decoration: none;">&lt;math&gt;</del>B<del style="font-weight: bold; text-decoration: none;">&lt;/math&gt;</del>. Using a B-tree, searching, insertion, and deletion can be achieved in &lt;math&gt;O(\log _B N)&lt;/math&gt; time (in [[Big O notation]]). [[Information theory|Information theoretically]], this is the minimum [[running time]] possible for these operations, so using a B-tree is [[asymptotically optimal]].&lt;ref name="Aggarwal88"/&gt;</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Searching for an element among <ins style="font-weight: bold; text-decoration: none;">{{mvar|</ins>N<ins style="font-weight: bold; text-decoration: none;">}}</ins> objects is possible in the external memory model using a [[B-tree]] with branching factor <ins style="font-weight: bold; text-decoration: none;">{{mvar|</ins>B<ins style="font-weight: bold; text-decoration: none;">}}</ins>. Using a B-tree, searching, insertion, and deletion can be achieved in &lt;math&gt;O(\log _B N)&lt;/math&gt; time (in [[Big O notation]]). [[Information theory|Information theoretically]], this is the minimum [[running time]] possible for these operations, so using a B-tree is [[asymptotically optimal]].&lt;ref name="Aggarwal88"/&gt;</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>[[External sorting]] is sorting in an external memory setting. External sorting can be done via distribution sort, which is similar to [[quicksort]], or via a &lt;math&gt;\tfrac{M}{B}&lt;/math&gt;[[K-way merge algorithm|-way merge sort]]. Both variants achieve the [[asymptotically optimal]] runtime of &lt;math&gt;O(\tfrac{N}{B} \log _{\tfrac{M}{B}} \tfrac{N}{B})&lt;/math&gt; to sort {{mvar|N}} objects. This bound also applies to the [[fast Fourier transform]] in the external memory model.&lt;ref name="Vitter"/&gt;</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>[[External sorting]] is sorting in an external memory setting. External sorting can be done via distribution sort, which is similar to [[quicksort]], or via a &lt;math&gt;\tfrac{M}{B}&lt;/math&gt;[[K-way merge algorithm|-way merge sort]]. Both variants achieve the [[asymptotically optimal]] runtime of &lt;math&gt;O<ins style="font-weight: bold; text-decoration: none;">\left</ins>(\tfrac{N}{B} \log _{\tfrac{M}{B}} \tfrac{N}{B}<ins style="font-weight: bold; text-decoration: none;">\right</ins>)&lt;/math&gt; to sort {{mvar|N}} objects. This bound also applies to the [[fast Fourier transform]] in the external memory model.&lt;ref name="Vitter"/&gt;</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>The permutation problem is to rearrange <del style="font-weight: bold; text-decoration: none;">&lt;math&gt;</del>N<del style="font-weight: bold; text-decoration: none;">&lt;/math&gt;</del> elements into a specific [[permutation]]. This can either be done either by sorting, which requires the above sorting runtime, or inserting each element in order and ignoring the benefit of locality. Thus, permutation can be done in &lt;math&gt;O(\min (N, \tfrac{N}{B} \log _{\tfrac{M}{B}} \tfrac{N}{B}))&lt;/math&gt; time.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>The permutation problem is to rearrange <ins style="font-weight: bold; text-decoration: none;">{{mvar|</ins>N<ins style="font-weight: bold; text-decoration: none;">}}</ins> elements into a specific [[permutation]]. This can either be done either by sorting, which requires the above sorting runtime, or inserting each element in order and ignoring the benefit of locality. Thus, permutation can be done in &lt;math&gt;O<ins style="font-weight: bold; text-decoration: none;">\left</ins>(\min <ins style="font-weight: bold; text-decoration: none;">\left</ins>(N, \tfrac{N}{B} \log _{\tfrac{M}{B}} \tfrac{N}{B}<ins style="font-weight: bold; text-decoration: none;">\right</ins>)<ins style="font-weight: bold; text-decoration: none;">\right</ins>)&lt;/math&gt; time.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Applications ==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Applications ==</div></td> </tr> </table> Cedar101 https://en.wikipedia.org/w/index.php?title=External_memory_algorithm&diff=1173445314&oldid=prev Citation bot: Add: title. Removed parameters. Some additions/deletions were parameter name changes. | Use this bot. Report bugs. | #UCB_CommandLine 2023-09-02T13:26:41Z <p>Add: title. Removed parameters. Some additions/deletions were parameter name changes. | <a href="/wiki/Wikipedia:UCB" class="mw-redirect" title="Wikipedia:UCB">Use this bot</a>. <a href="/wiki/Wikipedia:DBUG" class="mw-redirect" title="Wikipedia:DBUG">Report bugs</a>. | #UCB_CommandLine</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="en"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Previous revision</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 13:26, 2 September 2023</td> </tr><tr> <td colspan="2" class="diff-lineno">Line 3:</td> <td colspan="2" class="diff-lineno">Line 3:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Model ==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Model ==</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>[[File:External memory.svg|thumb|The cache on the left holds &lt;math&gt;\tfrac{M}{B}&lt;/math&gt; blocks of size &lt;math&gt;B&lt;/math&gt; each, for a total of {{mvar|M}} objects. The external memory on the right is unbounded.]]</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>[[File:External memory.svg|thumb|The cache on the left holds &lt;math&gt;\tfrac{M}{B}&lt;/math&gt; blocks of size &lt;math&gt;B&lt;/math&gt; each, for a total of {{mvar|M}} objects. The external memory on the right is unbounded.]]</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>External memory algorithms are analyzed in an idealized [[model of computation]] called the external memory model (or '''I/O model''', or '''disk access model'''). The external memory model is an [[abstract machine]] similar to the [[RAM model|RAM machine model]], but with a [[Cache (computing)|cache]] in addition to [[main memory]]. The model captures the fact that read and write operations are much faster in a [[cache (computing)|cache]] than in [[main memory]], and that [[Reading (computer)|reading]] long contiguous blocks is faster than reading randomly using a [[disk read-and-write head]]. The [[running time]] of an [[algorithm]] in the external memory model is defined by the number of reads and writes to memory required.&lt;ref name="Springer"&gt;{{cite encyclopedia |encyclopedia= Encyclopedia of Database Systems|pages= 1333–1334|year= 2009|publisher= [[Springer Science+Business Media]]|doi= 10.1007/978-0-387-39940-9_752|last1 = Zhang|first1 = Donghui|last2= Tsotras|first2= Vassilis J.|last3= Levialdi|first3= Stefano|last4= Grinstein|first4= Georges|last5= Berry|first5= Damon Andrew|last6= Gouet-Brunet|first6= Valerie|last7= Kosch|first7= Harald|last8= Döller|first8= Mario|last9= Döller|first9= Mario|last10= Kosch|first10= Harald|last11= Maier|first11= Paul|last12= Bhattacharya|first12= Arnab|last13= Ljosa|first13= Vebjorn|last14= Nack|first14= Frank|last15= Bartolini|first15= Ilaria|last16= Gouet-Brunet|first16= Valerie|last17= Mei|first17= Tao|last18= Rui|first18= Yong|last19= Crucianu|first19= Michel|last20= Shih|first20= Frank Y.|last21= Fan|first21= Wenfei|last22= Ullman-Cullere|first22= Mollie|last23= Clark|first23= Eugene|last24= Aronson|first24= Samuel|last25= Mellin|first25= Jonas|last26= Berndtsson|first26= Mikael|last27= Grahne|first27= Gösta|last28= Bertossi|first28= Leopoldo|last29= Dong|first29= Guozhu|last30= Su|first30= Jianwen|display-authors= 29|isbn= 978-0-387-35544-3<del style="font-weight: bold; text-decoration: none;">|chapter= I/O Model of Computation</del>}}&lt;/ref&gt; The model was introduced by Alok Aggarwal and [[Jeffrey Vitter]] in 1988.&lt;ref name="Aggarwal88"&gt;{{cite journal|last1=Aggarwal|first1=Alok|last2=Vitter|first2=Jeffrey|author2-link=Jeffrey Vitter|title=The input/output complexity of sorting and related problems|journal=[[Communications of the ACM]]|volume=31|issue=9|pages=1116–1127|date=1988|doi=10.1145/48529.48535|s2cid=6264984|url=https://hal.inria.fr/inria-00075827|doi-access=free}}&lt;/ref&gt; The external memory model is related to the [[Cache-oblivious algorithm#Idealized cache model|cache-oblivious model]], but algorithms in the external memory model may know both the [[Block (data storage)|block size]] and the [[Cache (computing)|cache]] size. For this reason, the model is sometimes referred to as the '''cache-aware model'''.&lt;ref name="Demaine02"&gt;{{cite conference|last1=Demaine|first1=Erik|author1-link=Erik Demaine|year=2002|title=Cache-Oblivious Algorithms and Data Structures|url=http://erikdemaine.org/papers/BRICS2002/paper.pdf|conference=Lecture Notes from the EEF Summer School on Massive Data Sets|location=Aarhus|publisher=BRICS}}&lt;/ref&gt;</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>External memory algorithms are analyzed in an idealized [[model of computation]] called the external memory model (or '''I/O model''', or '''disk access model'''). The external memory model is an [[abstract machine]] similar to the [[RAM model|RAM machine model]], but with a [[Cache (computing)|cache]] in addition to [[main memory]]. The model captures the fact that read and write operations are much faster in a [[cache (computing)|cache]] than in [[main memory]], and that [[Reading (computer)|reading]] long contiguous blocks is faster than reading randomly using a [[disk read-and-write head]]. The [[running time]] of an [[algorithm]] in the external memory model is defined by the number of reads and writes to memory required.&lt;ref name="Springer"&gt;{{cite encyclopedia |encyclopedia= Encyclopedia of Database Systems|pages= 1333–1334|year= 2009|publisher= [[Springer Science+Business Media]]|doi= 10.1007/978-0-387-39940-9_752|last1 = Zhang|first1 = Donghui|last2= Tsotras|first2= Vassilis J.|last3= Levialdi|first3= Stefano|last4= Grinstein|first4= Georges|last5= Berry|first5= Damon Andrew|last6= Gouet-Brunet|first6= Valerie|last7= Kosch|first7= Harald|last8= Döller|first8= Mario|last9= Döller|first9= Mario|last10= Kosch|first10= Harald|last11= Maier|first11= Paul|last12= Bhattacharya|first12= Arnab|last13= Ljosa|first13= Vebjorn|last14= Nack|first14= Frank|last15= Bartolini|first15= Ilaria|last16= Gouet-Brunet|first16= Valerie|last17= Mei|first17= Tao|last18= Rui|first18= Yong|last19= Crucianu|first19= Michel|last20= Shih|first20= Frank Y.|last21= Fan|first21= Wenfei|last22= Ullman-Cullere|first22= Mollie|last23= Clark|first23= Eugene|last24= Aronson|first24= Samuel|last25= Mellin|first25= Jonas|last26= Berndtsson|first26= Mikael|last27= Grahne|first27= Gösta|last28= Bertossi|first28= Leopoldo|last29= Dong|first29= Guozhu|last30= Su|first30= Jianwen<ins style="font-weight: bold; text-decoration: none;">|title= I/O Model of Computation</ins>|display-authors= 29|isbn= 978-0-387-35544-3}}&lt;/ref&gt; The model was introduced by Alok Aggarwal and [[Jeffrey Vitter]] in 1988.&lt;ref name="Aggarwal88"&gt;{{cite journal|last1=Aggarwal|first1=Alok|last2=Vitter|first2=Jeffrey|author2-link=Jeffrey Vitter|title=The input/output complexity of sorting and related problems|journal=[[Communications of the ACM]]|volume=31|issue=9|pages=1116–1127|date=1988|doi=10.1145/48529.48535|s2cid=6264984|url=https://hal.inria.fr/inria-00075827|doi-access=free}}&lt;/ref&gt; The external memory model is related to the [[Cache-oblivious algorithm#Idealized cache model|cache-oblivious model]], but algorithms in the external memory model may know both the [[Block (data storage)|block size]] and the [[Cache (computing)|cache]] size. For this reason, the model is sometimes referred to as the '''cache-aware model'''.&lt;ref name="Demaine02"&gt;{{cite conference|last1=Demaine|first1=Erik|author1-link=Erik Demaine|year=2002|title=Cache-Oblivious Algorithms and Data Structures|url=http://erikdemaine.org/papers/BRICS2002/paper.pdf|conference=Lecture Notes from the EEF Summer School on Massive Data Sets|location=Aarhus|publisher=BRICS}}&lt;/ref&gt;</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>The model consists of a [[processor (computing)|processor]] with an internal memory or [[cache (computing)|cache]] of size {{mvar|M}}, connected to an [[infinity|unbounded]] external memory. Both the internal and external memory are divided into [[Block (data storage)|blocks]] of size {{mvar|B}}. One input/output or memory transfer operation consists of moving a block of {{mvar|B}} contiguous elements from external to internal memory, and the [[running time]] of an algorithm is determined by the number of these input/output operations.&lt;ref name="Aggarwal88"/&gt;</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>The model consists of a [[processor (computing)|processor]] with an internal memory or [[cache (computing)|cache]] of size {{mvar|M}}, connected to an [[infinity|unbounded]] external memory. Both the internal and external memory are divided into [[Block (data storage)|blocks]] of size {{mvar|B}}. One input/output or memory transfer operation consists of moving a block of {{mvar|B}} contiguous elements from external to internal memory, and the [[running time]] of an algorithm is determined by the number of these input/output operations.&lt;ref name="Aggarwal88"/&gt;</div></td> </tr> </table> Citation bot https://en.wikipedia.org/w/index.php?title=External_memory_algorithm&diff=1136184114&oldid=prev OAbot: Open access bot: doi added to citation with #oabot. 2023-01-29T04:01:22Z <p><a href="/wiki/Wikipedia:OABOT" class="mw-redirect" title="Wikipedia:OABOT">Open access bot</a>: doi added to citation with #oabot.</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="en"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Previous revision</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 04:01, 29 January 2023</td> </tr><tr> <td colspan="2" class="diff-lineno">Line 3:</td> <td colspan="2" class="diff-lineno">Line 3:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Model ==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Model ==</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>[[File:External memory.svg|thumb|The cache on the left holds &lt;math&gt;\tfrac{M}{B}&lt;/math&gt; blocks of size &lt;math&gt;B&lt;/math&gt; each, for a total of {{mvar|M}} objects. The external memory on the right is unbounded.]]</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>[[File:External memory.svg|thumb|The cache on the left holds &lt;math&gt;\tfrac{M}{B}&lt;/math&gt; blocks of size &lt;math&gt;B&lt;/math&gt; each, for a total of {{mvar|M}} objects. The external memory on the right is unbounded.]]</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>External memory algorithms are analyzed in an idealized [[model of computation]] called the external memory model (or '''I/O model''', or '''disk access model'''). The external memory model is an [[abstract machine]] similar to the [[RAM model|RAM machine model]], but with a [[Cache (computing)|cache]] in addition to [[main memory]]. The model captures the fact that read and write operations are much faster in a [[cache (computing)|cache]] than in [[main memory]], and that [[Reading (computer)|reading]] long contiguous blocks is faster than reading randomly using a [[disk read-and-write head]]. The [[running time]] of an [[algorithm]] in the external memory model is defined by the number of reads and writes to memory required.&lt;ref name="Springer"&gt;{{cite encyclopedia |encyclopedia= Encyclopedia of Database Systems|pages= 1333–1334|year= 2009|publisher= [[Springer Science+Business Media]]|doi= 10.1007/978-0-387-39940-9_752|last1 = Zhang|first1 = Donghui|last2= Tsotras|first2= Vassilis J.|last3= Levialdi|first3= Stefano|last4= Grinstein|first4= Georges|last5= Berry|first5= Damon Andrew|last6= Gouet-Brunet|first6= Valerie|last7= Kosch|first7= Harald|last8= Döller|first8= Mario|last9= Döller|first9= Mario|last10= Kosch|first10= Harald|last11= Maier|first11= Paul|last12= Bhattacharya|first12= Arnab|last13= Ljosa|first13= Vebjorn|last14= Nack|first14= Frank|last15= Bartolini|first15= Ilaria|last16= Gouet-Brunet|first16= Valerie|last17= Mei|first17= Tao|last18= Rui|first18= Yong|last19= Crucianu|first19= Michel|last20= Shih|first20= Frank Y.|last21= Fan|first21= Wenfei|last22= Ullman-Cullere|first22= Mollie|last23= Clark|first23= Eugene|last24= Aronson|first24= Samuel|last25= Mellin|first25= Jonas|last26= Berndtsson|first26= Mikael|last27= Grahne|first27= Gösta|last28= Bertossi|first28= Leopoldo|last29= Dong|first29= Guozhu|last30= Su|first30= Jianwen|display-authors= 29|isbn= 978-0-387-35544-3|chapter= I/O Model of Computation}}&lt;/ref&gt; The model was introduced by Alok Aggarwal and [[Jeffrey Vitter]] in 1988.&lt;ref name="Aggarwal88"&gt;{{cite journal|last1=Aggarwal|first1=Alok|last2=Vitter|first2=Jeffrey|author2-link=Jeffrey Vitter|title=The input/output complexity of sorting and related problems|journal=[[Communications of the ACM]]|volume=31|issue=9|pages=1116–1127|date=1988|doi=10.1145/48529.48535|s2cid=6264984|url=https://hal.inria.fr/inria-00075827}}&lt;/ref&gt; The external memory model is related to the [[Cache-oblivious algorithm#Idealized cache model|cache-oblivious model]], but algorithms in the external memory model may know both the [[Block (data storage)|block size]] and the [[Cache (computing)|cache]] size. For this reason, the model is sometimes referred to as the '''cache-aware model'''.&lt;ref name="Demaine02"&gt;{{cite conference|last1=Demaine|first1=Erik|author1-link=Erik Demaine|year=2002|title=Cache-Oblivious Algorithms and Data Structures|url=http://erikdemaine.org/papers/BRICS2002/paper.pdf|conference=Lecture Notes from the EEF Summer School on Massive Data Sets|location=Aarhus|publisher=BRICS}}&lt;/ref&gt;</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>External memory algorithms are analyzed in an idealized [[model of computation]] called the external memory model (or '''I/O model''', or '''disk access model'''). The external memory model is an [[abstract machine]] similar to the [[RAM model|RAM machine model]], but with a [[Cache (computing)|cache]] in addition to [[main memory]]. The model captures the fact that read and write operations are much faster in a [[cache (computing)|cache]] than in [[main memory]], and that [[Reading (computer)|reading]] long contiguous blocks is faster than reading randomly using a [[disk read-and-write head]]. The [[running time]] of an [[algorithm]] in the external memory model is defined by the number of reads and writes to memory required.&lt;ref name="Springer"&gt;{{cite encyclopedia |encyclopedia= Encyclopedia of Database Systems|pages= 1333–1334|year= 2009|publisher= [[Springer Science+Business Media]]|doi= 10.1007/978-0-387-39940-9_752|last1 = Zhang|first1 = Donghui|last2= Tsotras|first2= Vassilis J.|last3= Levialdi|first3= Stefano|last4= Grinstein|first4= Georges|last5= Berry|first5= Damon Andrew|last6= Gouet-Brunet|first6= Valerie|last7= Kosch|first7= Harald|last8= Döller|first8= Mario|last9= Döller|first9= Mario|last10= Kosch|first10= Harald|last11= Maier|first11= Paul|last12= Bhattacharya|first12= Arnab|last13= Ljosa|first13= Vebjorn|last14= Nack|first14= Frank|last15= Bartolini|first15= Ilaria|last16= Gouet-Brunet|first16= Valerie|last17= Mei|first17= Tao|last18= Rui|first18= Yong|last19= Crucianu|first19= Michel|last20= Shih|first20= Frank Y.|last21= Fan|first21= Wenfei|last22= Ullman-Cullere|first22= Mollie|last23= Clark|first23= Eugene|last24= Aronson|first24= Samuel|last25= Mellin|first25= Jonas|last26= Berndtsson|first26= Mikael|last27= Grahne|first27= Gösta|last28= Bertossi|first28= Leopoldo|last29= Dong|first29= Guozhu|last30= Su|first30= Jianwen|display-authors= 29|isbn= 978-0-387-35544-3|chapter= I/O Model of Computation}}&lt;/ref&gt; The model was introduced by Alok Aggarwal and [[Jeffrey Vitter]] in 1988.&lt;ref name="Aggarwal88"&gt;{{cite journal|last1=Aggarwal|first1=Alok|last2=Vitter|first2=Jeffrey|author2-link=Jeffrey Vitter|title=The input/output complexity of sorting and related problems|journal=[[Communications of the ACM]]|volume=31|issue=9|pages=1116–1127|date=1988|doi=10.1145/48529.48535|s2cid=6264984|url=https://hal.inria.fr/inria-00075827<ins style="font-weight: bold; text-decoration: none;">|doi-access=free</ins>}}&lt;/ref&gt; The external memory model is related to the [[Cache-oblivious algorithm#Idealized cache model|cache-oblivious model]], but algorithms in the external memory model may know both the [[Block (data storage)|block size]] and the [[Cache (computing)|cache]] size. For this reason, the model is sometimes referred to as the '''cache-aware model'''.&lt;ref name="Demaine02"&gt;{{cite conference|last1=Demaine|first1=Erik|author1-link=Erik Demaine|year=2002|title=Cache-Oblivious Algorithms and Data Structures|url=http://erikdemaine.org/papers/BRICS2002/paper.pdf|conference=Lecture Notes from the EEF Summer School on Massive Data Sets|location=Aarhus|publisher=BRICS}}&lt;/ref&gt;</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>The model consists of a [[processor (computing)|processor]] with an internal memory or [[cache (computing)|cache]] of size {{mvar|M}}, connected to an [[infinity|unbounded]] external memory. Both the internal and external memory are divided into [[Block (data storage)|blocks]] of size {{mvar|B}}. One input/output or memory transfer operation consists of moving a block of {{mvar|B}} contiguous elements from external to internal memory, and the [[running time]] of an algorithm is determined by the number of these input/output operations.&lt;ref name="Aggarwal88"/&gt;</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>The model consists of a [[processor (computing)|processor]] with an internal memory or [[cache (computing)|cache]] of size {{mvar|M}}, connected to an [[infinity|unbounded]] external memory. Both the internal and external memory are divided into [[Block (data storage)|blocks]] of size {{mvar|B}}. One input/output or memory transfer operation consists of moving a block of {{mvar|B}} contiguous elements from external to internal memory, and the [[running time]] of an algorithm is determined by the number of these input/output operations.&lt;ref name="Aggarwal88"/&gt;</div></td> </tr> </table> OAbot https://en.wikipedia.org/w/index.php?title=External_memory_algorithm&diff=1134864222&oldid=prev Voidxor: /* See also */ Rm duplicate links per MOS:DUPLINK. Alphabetize per MOS:SEEALSO. 2023-01-21T03:03:58Z <p><span class="autocomment">See also: </span> Rm duplicate links per <a href="/wiki/MOS:DUPLINK" class="mw-redirect" title="MOS:DUPLINK">MOS:DUPLINK</a>. Alphabetize per <a href="/wiki/MOS:SEEALSO" class="mw-redirect" title="MOS:SEEALSO">MOS:SEEALSO</a>.</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="en"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Previous revision</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 03:03, 21 January 2023</td> </tr><tr> <td colspan="2" class="diff-lineno">Line 27:</td> <td colspan="2" class="diff-lineno">Line 27:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==See also==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==See also==</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>*[[External sorting]]</div></td> <td colspan="2" class="diff-empty diff-side-added"></td> </tr> <tr> <td class="diff-marker"><a class="mw-diff-movedpara-left" title="Paragraph was moved. Click to jump to new location." href="#movedpara_5_0_rhs">&#x26AB;</a></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><a name="movedpara_1_1_lhs"></a>*[[Online algorithm]]</div></td> <td colspan="2" class="diff-empty diff-side-added"></td> </tr> <tr> <td class="diff-marker"><a class="mw-diff-movedpara-left" title="Paragraph was moved. Click to jump to new location." href="#movedpara_5_2_rhs">&#x26AB;</a></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><a name="movedpara_1_2_lhs"></a>*[[Streaming algorithm]]</div></td> <td colspan="2" class="diff-empty diff-side-added"></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>*[[Cache-oblivious algorithm]]</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>*[[Cache-oblivious algorithm]]</div></td> </tr> <tr> <td class="diff-marker"><a class="mw-diff-movedpara-left" title="Paragraph was moved. Click to jump to new location." href="#movedpara_5_1_rhs">&#x26AB;</a></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><a name="movedpara_3_0_lhs"></a>*[[Parallel external memory]]</div></td> <td colspan="2" class="diff-empty diff-side-added"></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>*[[External memory graph traversal]]</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>*[[External memory graph traversal]]</div></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker"><a class="mw-diff-movedpara-right" title="Paragraph was moved. Click to jump to old location." href="#movedpara_1_1_lhs">&#x26AB;</a></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><a name="movedpara_5_0_rhs"></a>*[[Online algorithm]]</div></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker"><a class="mw-diff-movedpara-right" title="Paragraph was moved. Click to jump to old location." href="#movedpara_3_0_lhs">&#x26AB;</a></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><a name="movedpara_5_1_rhs"></a>*[[Parallel external memory]]</div></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker"><a class="mw-diff-movedpara-right" title="Paragraph was moved. Click to jump to old location." href="#movedpara_1_2_lhs">&#x26AB;</a></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><a name="movedpara_5_2_rhs"></a>*[[Streaming algorithm]]</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==References==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==References==</div></td> </tr> </table> Voidxor https://en.wikipedia.org/w/index.php?title=External_memory_algorithm&diff=1106336232&oldid=prev FrederalBacon: Reverted edits by 121.200.48.26 (talk): editing tests (HG) (3.4.10) 2022-08-24T04:05:39Z <p>Reverted edits by <a href="/wiki/Special:Contributions/121.200.48.26" title="Special:Contributions/121.200.48.26">121.200.48.26</a> (<a href="/wiki/User_talk:121.200.48.26" title="User talk:121.200.48.26">talk</a>): <a href="/wiki/Wikipedia:SANDBOX" class="mw-redirect" title="Wikipedia:SANDBOX">editing tests</a> (<a href="/wiki/Wikipedia:HG" class="mw-redirect" title="Wikipedia:HG">HG</a>) (3.4.10)</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="en"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Previous revision</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 04:05, 24 August 2022</td> </tr><tr> <td colspan="2" class="diff-lineno">Line 15:</td> <td colspan="2" class="diff-lineno">Line 15:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>The permutation problem is to rearrange &lt;math&gt;N&lt;/math&gt; elements into a specific [[permutation]]. This can either be done either by sorting, which requires the above sorting runtime, or inserting each element in order and ignoring the benefit of locality. Thus, permutation can be done in &lt;math&gt;O(\min (N, \tfrac{N}{B} \log _{\tfrac{M}{B}} \tfrac{N}{B}))&lt;/math&gt; time.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>The permutation problem is to rearrange &lt;math&gt;N&lt;/math&gt; elements into a specific [[permutation]]. This can either be done either by sorting, which requires the above sorting runtime, or inserting each element in order and ignoring the benefit of locality. Thus, permutation can be done in &lt;math&gt;O(\min (N, \tfrac{N}{B} \log _{\tfrac{M}{B}} \tfrac{N}{B}))&lt;/math&gt; time.</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><br /></td> <td colspan="2" class="diff-empty diff-side-added"></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>by poornaa</div></td> <td colspan="2" class="diff-empty diff-side-added"></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Applications ==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Applications ==</div></td> </tr> </table> FrederalBacon