|
|
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
|
|
|
|
"http://www.w3.org/TR/html4/loose.dtd">
|
|
|
|
<html >
|
|
|
|
<head><title>Heap data structure</title>
|
|
|
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
|
|
|
<meta name="generator" content="TeX4ht (http://www.tug.org/tex4ht/)">
|
|
|
|
<meta name="originator" content="TeX4ht (http://www.tug.org/tex4ht/)">
|
|
|
|
<!-- html,3 -->
|
|
|
|
<meta name="src" content="userhtml.tex">
|
|
|
|
<link rel="stylesheet" type="text/css" href="userhtml.css">
|
|
|
|
</head><body
|
|
|
|
>
|
|
|
|
<!--l. 1389--><div class="crosslinks"><p class="noindent">[<a
|
|
|
|
href="userhtmlsu8.html" >prev</a>] [<a
|
|
|
|
href="userhtmlsu8.html#tailuserhtmlsu8.html" >prev-tail</a>] [<a
|
|
|
|
href="userhtmlsu6.html#tailuserhtmlsu9.html">tail</a>] [<a
|
|
|
|
href="userhtmlsu7.html#userhtmlsu11.html" >up</a>] </p></div>
|
|
|
|
<h4 class="subsectionHead"><span class="titlemark">3.5 </span> <a
|
|
|
|
id="x17-540003.5"></a>Heap data structure</h4>
|
|
|
|
<!--l. 1391--><p class="noindent" >Among the tools routines of sec. <a
|
|
|
|
href="userhtmlse6.html#x40-770006">6<!--tex4ht:ref: sec:toolsrout --></a>, we have a number of sorting utilities; the heap
|
|
|
|
sort is implemented in terms of heaps having the following signatures:
|
|
|
|
<dl class="description"><dt class="description">
|
|
|
|
<span
|
|
|
|
class="cmtt-10">psb</span><span
|
|
|
|
class="cmtt-10">_T</span><span
|
|
|
|
class="cmtt-10">_heap</span> </dt><dd
|
|
|
|
class="description">: a heap containing elements of type T, where T can be <span class="lstinline"></span><span
|
|
|
|
class="cmtt-10">i</span><span
|
|
|
|
class="cmtt-10">,</span><span
|
|
|
|
class="cmtt-10">s</span><span
|
|
|
|
class="cmtt-10">,</span><span
|
|
|
|
class="cmtt-10">c</span><span
|
|
|
|
class="cmtt-10">,</span><span
|
|
|
|
class="cmtt-10">d</span><span
|
|
|
|
class="cmtt-10">,</span><span
|
|
|
|
class="cmtt-10">z</span>
|
|
|
|
for integer, real and complex data;
|
|
|
|
</dd><dt class="description">
|
|
|
|
<span
|
|
|
|
class="cmtt-10">psb</span><span
|
|
|
|
class="cmtt-10">_T</span><span
|
|
|
|
class="cmtt-10">_idx</span><span
|
|
|
|
class="cmtt-10">_heap</span> </dt><dd
|
|
|
|
class="description">: a heap containing elements of type T, as above, together
|
|
|
|
with an integer index.</dd></dl>
|
|
|
|
<!--l. 1400--><p class="noindent" >Given a heap object, the following methods are defined on it:
|
|
|
|
<dl class="description"><dt class="description">
|
|
|
|
<span
|
|
|
|
class="cmbx-10">init</span> </dt><dd
|
|
|
|
class="description">Initialize memory; also choose ascending or descending order;
|
|
|
|
</dd><dt class="description">
|
|
|
|
<span
|
|
|
|
class="cmbx-10">howmany</span> </dt><dd
|
|
|
|
class="description">Current heap occupancy;
|
|
|
|
</dd><dt class="description">
|
|
|
|
<span
|
|
|
|
class="cmbx-10">insert</span> </dt><dd
|
|
|
|
class="description">Add an item (or an item and its index);
|
|
|
|
</dd><dt class="description">
|
|
|
|
<span
|
|
|
|
class="cmbx-10">get</span><span
|
|
|
|
class="cmbx-10">_first</span> </dt><dd
|
|
|
|
class="description">Remove and return the first element;
|
|
|
|
</dd><dt class="description">
|
|
|
|
<span
|
|
|
|
class="cmbx-10">dump</span> </dt><dd
|
|
|
|
class="description">Print on file;
|
|
|
|
</dd><dt class="description">
|
|
|
|
<span
|
|
|
|
class="cmbx-10">free</span> </dt><dd
|
|
|
|
class="description">Release memory.</dd></dl>
|
|
|
|
<!--l. 1410--><p class="noindent" >These objects are used in AMG4PSBLAS to implement the factorization algorithms.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
|
|
|
|
href="userhtmlsu8.html" >prev</a>] [<a
|
|
|
|
href="userhtmlsu8.html#tailuserhtmlsu8.html" >prev-tail</a>] [<a
|
|
|
|
href="userhtmlsu9.html" >front</a>] [<a
|
|
|
|
href="userhtmlsu7.html#userhtmlsu11.html" >up</a>] </p></div>
|
|
|
|
<!--l. 1--><p class="indent" > <a
|
|
|
|
id="tailuserhtmlsu9.html"></a>
|
|
|
|
</body></html>
|