Pro Yearly is on sale from $80 to $50! »

SPL e Suas Estruturas de Dados: Como Funcionam? - PHP Community Summit 2018

SPL e Suas Estruturas de Dados: Como Funcionam? - PHP Community Summit 2018

Slides da palestra realizada no PHP Community Summit 2018, em São Paulo.
Código usado na palestra: https://github.com/devdrops/spl-data-structures

049fbbe4e5fb94c45d6ccd656290d6fb?s=128

Davi Marcondes Moreira

September 14, 2018
Tweet

Transcript

  1. SPL e Suas Estruturas de Dados: Como Funcionam? 2018-09-14 @

    PHP Community Summit Davi Marcondes Moreira @devdrops
  2. Introdução

  3. Davi Marcondes Moreira Desenvolvedor de Software @ Pagar.me @devdrops Doido

    por estruturas de dados >_ whois
  4. Por Quê Falar de SPL?

  5. Photo by Clem Onojeghuo on Unsplash

  6. None
  7. Vamos às classes!

  8. SplDoublyLinkedList AKA lista duplamente encadeada (cada nó conhece seus “vizinhos”)

  9. SplDoublyLinkedList AKA lista duplamente encadeada (cada nó conhece seus “vizinhos”)

    SplStack (pilha)
  10. SplDoublyLinkedList AKA lista duplamente encadeada (cada nó conhece seus “vizinhos”)

    SplStack (pilha) SplQueue (fila)
  11. SplDoublyLinkedList AKA lista duplamente encadeada (cada nó conhece seus “vizinhos”)

    SplStack (pilha) SplQueue (fila) São estruturas que respeitam a ordem inserida dos dados.
  12. None
  13. SplHeap AKA árvore (realiza comparações para ajustar seus nós)

  14. SplHeap AKA árvore (realiza comparações para ajustar seus nós) SplMaxHeap

    (do maior para o menor)
  15. SplHeap AKA árvore (realiza comparações para ajustar seus nós) SplMaxHeap

    (do maior para o menor) SplMinHeap (do menor para o maior)
  16. SplHeap AKA árvore (realiza comparações para ajustar seus nós) SplMaxHeap

    (do maior para o menor) SplMinHeap (do menor para o maior) SplPriorityQueue (fila + priorização, possui internamente uma SplMaxHeap)
  17. SplHeap AKA árvore (realiza comparações para ajustar seus nós) SplMaxHeap

    (do maior para o menor) SplMinHeap (do menor para o maior) SplPriorityQueue (fila + priorização, possui internamente uma SplMaxHeap) Se organiza a cada elemento inserido.
  18. None
  19. SplFixedArray AKA array de tamanho fixo (igual um array comum,

    porém oferecendo limites)
  20. SplFixedArray AKA array de tamanho fixo (igual um array comum,

    porém oferecendo limites) Índices são somente valores inteiros Permite tornar arrays normais em fixos, e vice versa.
  21. None
  22. Cada estrutura, a 80km/h, quem ganha? :D

  23. Conclusões

  24. Podemos concluir que - Foram uma evolução na linguagem -

    Aspectos interessantes de cada uma - Podem ser aplicadas no nosso dia a dia - com cautela - Trazem muita responsabilidade ao nosso código - Em caso de dúvida, use um array antes
  25. Referências

  26. Para se aprofundar mais - http://php.net/manual/en/spl.datastructures.php - https://hotexamples.com/ - https://www.phparch.com/books/mastering-the-spl-library/

    - https://github.com/php-ds
  27. Muito obrigado! =D @devdrops devdrops.me/about https://github.com/devdrops/ spl-data-structures