Files
archived-doc-pt-br/reference/spl/datastructures.xml
2024-12-10 21:24:06 -03:00

133 lines
3.7 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: e93feee2870bb551cd11d625271b7f82da3ccb05 Maintainer: leonardolara Status: ready --><!-- CREDITS: fernandowobeto -->
<part xml:id="spl.datastructures" xmlns="http://docbook.org/ns/docbook">
<title>Estruturas de dados</title>
<partintro>
<para>
SPL fornece um conjunto de estruturas de dados padrão. Elas são agrupadas aqui de acordo com sua
implementação subjacente, que geralmente define seu campo de
aplicação geral.
</para>
<section>
<title>Listas Duplamente Encadeadas</title>
<para>
Uma Lista Duplamente Encadeada (DLL) é uma lista de nós vinculados em ambas as direções
entre si. As operações de iteração, acesso a ambas as extremidades, adição ou
remoção de nós têm um custo de O(1) quando a estrutura subjacente é uma DLL.
Portanto, ela fornece uma implementação decente para pilhas e filas.
</para>
<itemizedlist>
<listitem>
<simpara><classname>SplDoublyLinkedList</classname></simpara>
<itemizedlist>
<listitem><simpara><classname>SplStack</classname></simpara></listitem>
<listitem><simpara><classname>SplQueue</classname></simpara></listitem>
</itemizedlist>
</listitem>
</itemizedlist>
</section>
<section>
<title>Heaps</title>
<para>
Heaps são estruturas semelhantes a árvores que seguem a propriedade de heap: cada nó
é maior ou igual aos seus filhos, quando comparados usando o método
de comparação implementado, que é global para o heap.
</para>
<itemizedlist>
<listitem>
<simpara><classname>SplHeap</classname></simpara>
<itemizedlist>
<listitem><simpara><classname>SplMaxHeap</classname></simpara></listitem>
<listitem><simpara><classname>SplMinHeap</classname></simpara></listitem>
</itemizedlist>
</listitem>
<listitem>
<simpara><classname>SplPriorityQueue</classname></simpara>
</listitem>
</itemizedlist>
</section>
<section>
<title>Arrays</title>
<para>
Arrays são estruturas que armazenam os dados de forma contínua,
acessíveis via índices.
</para>
<note>
<simpara>
Não os confunda com o tipo <type>array</type> nativo do PHP.
Os arrays PHP são, na verdade, tabelas de hash ordenadas.
Entretanto, a SPL fornece a classe <classname>ArrayObject</classname>
para encapsular arrays do PHP em um objeto.
</simpara>
</note>
<itemizedlist>
<listitem>
<simpara><classname>SplFixedArray</classname></simpara>
</listitem>
</itemizedlist>
</section>
<section>
<title>Map</title>
<para>
Um mapa é uma estrutura de dados que contém pares chave-valor. Os arrays PHP podem ser vistos como mapas de inteiros/strings para valores. SPL fornece um mapa de objetos para dados. Esse mapa também pode ser usado como um conjunto de objetos.
</para>
<itemizedlist>
<listitem>
<simpara><classname>SplObjectStorage</classname></simpara>
</listitem>
</itemizedlist>
</section>
</partintro>
&reference.spl.spldoublylinkedlist;
&reference.spl.splstack;
&reference.spl.splqueue;
&reference.spl.splheap;
&reference.spl.splmaxheap;
&reference.spl.splminheap;
&reference.spl.splpriorityqueue;
&reference.spl.splfixedarray;
&reference.spl.arrayobject;
&reference.spl.splobjectstorage;
</part>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->