Muito bom! Tive aulas disso em 2016, no início do mestrado. Passei apertos em listas, pilhas, etc. Árvore até que eu não tive tantos problemas. Já estava anestesiado. Mas essa explicação é ótima. Na minha época não achei nenhum conteúdo em língua portuguesa que me deixasse claro. Excelente vídeo!
Valeu, xará 😁! De fato, encontrar material em português é uma dificuldade, também passei por isso e foi uma das motivações de gravar esses vídeos. Estruturas de Dados e Algoritmos costumam ser cursos que mudam muito a percepção sobre a programação e adicionam técnicas valiosas ao repertório de quem estuda. Algumas pessoas não se motivam tanto por não ver a utilidade prática de cara (com tanta coisa pronta implementada), mas cada nova ideia que eu entendia eu ficava tipo "Caraca esse negócio é muuuito maneiro!". Eu já tive que implementar modificações de alguns desses algoritmos pra resolver problemas reais, depois trago uns exemplos.
Caiu de paraquedas ? Não vim indicado de outro canal de teconologia, já cheguei me escrevendo. pois Python ainda será uma linguaguem que quero aprender, isso mesmo não sei nada dessa linguagem vou aprender um pouco por aqui, tenho certeza!!!! Valeu pelo conteúdo! Vamos nessa!
Não...no momento em que você entender a essência e o processo de todos eles, vai conseguir implementar em qualquer linguagem. Meu curso de graduação foi dado em C e as referências que eu uso adotam pseudo-código e estão listadas aqui: th-cam.com/video/SqBgnMgFQTU/w-d-xo.html Bons estudos!
A função *pop* remove e retorna o primeiro elemento da fila. Toda explicação que vem antes do código remete ao comportamento deste tipo de percurso, em que quem está mais próximo da raiz tem que aparecer primeiro. Pra implementar esse comportamento, trabalhamos no primeiro nó da fila e adicionamos seus filhos ao final da fila - a cada iteração os nós avançam uma posição na fila e são processados. Quanto à importação do arquivo queue.py, se ele não estiver na mesma pasta do seu código, você precisa criar um pacote: stackoverflow.com/questions/15746675/how-to-write-a-python-module-package
Eu não sei por que, mas ta dando erro no def levelorder_traversal quando vou aplicar o bst.levelorder_traversal() C:\Users\clowd\AppData\Local\Programs\Python\Python38\python.exe "H:/Google Drive/CODEX/Python/Estruturas de dados/LinkedList/Tree/tree.py" Traceback (most recent call last): File "H:/Google Drive/CODEX/Python/Estruturas de dados/LinkedList/Tree/tree.py", line 196, in bst.levelorder_traversal() File "H:/Google Drive/CODEX/Python/Estruturas de dados/LinkedList/Tree/tree.py", line 132, in levelorder_traversal node = fila.pop() File "H:/Google Drive/CODEX/Python/Estruturas de dados/LinkedList/Tree/tree.py", line 41, in pop self.primeiro = self.primeiro.next AttributeError: 'Node' object has no attribute 'next' 11 16 32 43 51 55 61 66 77 79 82 89 ----- Process finished with exit code 1 O valor da lista example_tree, aplicado a função inorder funciona, mas quando chama a função levelorder_traversal da esses 3 erros. Fui no seu codigo do github, copiei e colei no meu documento .py, e os erros se mantem, vocês teriam ideia de como se resolve isso ? Abri um pull request ver-erro pra analizar de forma isolada o meu erro. github.com/clowdcap/Tree/tree/ver-erros Agradeço mesmo pelas aulas, vocês me ajudaram muuito, de vdd
O problema está aqui: AttributeError: 'Node' object has no attribute 'next' A classe Nó da árvore tem "data", "left" e "right", mas não tem "next". Alguma linha está tentando acessar next: self.primeiro = self.primeiro.next.
O vídeo ficou ótimo! Deu vontade de maratonar a playlist de estruturas de dados haha
Obrigado 🤩🤩🤩🤩
Muito bom!
Tive aulas disso em 2016, no início do mestrado. Passei apertos em listas, pilhas, etc. Árvore até que eu não tive tantos problemas. Já estava anestesiado.
Mas essa explicação é ótima. Na minha época não achei nenhum conteúdo em língua portuguesa que me deixasse claro.
Excelente vídeo!
E a explicação com a implementação é muito bem explicada.
Valeu, xará 😁! De fato, encontrar material em português é uma dificuldade, também passei por isso e foi uma das motivações de gravar esses vídeos. Estruturas de Dados e Algoritmos costumam ser cursos que mudam muito a percepção sobre a programação e adicionam técnicas valiosas ao repertório de quem estuda.
Algumas pessoas não se motivam tanto por não ver a utilidade prática de cara (com tanta coisa pronta implementada), mas cada nova ideia que eu entendia eu ficava tipo "Caraca esse negócio é muuuito maneiro!". Eu já tive que implementar modificações de alguns desses algoritmos pra resolver problemas reais, depois trago uns exemplos.
@@pgdinamica maravilha!
Vou querer ver essas aplicações!
Abraço!
Obrigado cara, me ajudou muito entender o conceito.
De nada! Bons estudos 🙌🏾
Caiu de paraquedas ? Não vim indicado de outro canal de teconologia, já cheguei me escrevendo. pois Python ainda será uma linguaguem que quero aprender, isso mesmo não sei nada dessa linguagem vou aprender um pouco por aqui, tenho certeza!!!!
Valeu pelo conteúdo!
Vamos nessa!
Seja bem vindo e bons estudos! 😉
Cai aqui por acaso e notei o Fundation do Asimov ao fundo, bom gosto pra livros.
Ainda tem outros do mestre Asimov fora do frame ✌🏾
Muito bom, salvou meu semestre!
melhor video de todos
Obrigado!
Obrigado pelo conteúdo... parabéns maninho...
🤙🏾👨🏾💻 #tmj
muito profissional
Obrigado!
Muito bom!! Amigo, tem alguma referência de programação desse tipo de percurso de arvore em c++?
Não...no momento em que você entender a essência e o processo de todos eles, vai conseguir implementar em qualquer linguagem.
Meu curso de graduação foi dado em C e as referências que eu uso adotam pseudo-código e estão listadas aqui: th-cam.com/video/SqBgnMgFQTU/w-d-xo.html
Bons estudos!
Eu nao entendi o algoritimo da fila... pq é usado node = fila.pop() e o que tem que tratar no arquivo queue?
A função *pop* remove e retorna o primeiro elemento da fila. Toda explicação que vem antes do código remete ao comportamento deste tipo de percurso, em que quem está mais próximo da raiz tem que aparecer primeiro. Pra implementar esse comportamento, trabalhamos no primeiro nó da fila e adicionamos seus filhos ao final da fila - a cada iteração os nós avançam uma posição na fila e são processados.
Quanto à importação do arquivo queue.py, se ele não estiver na mesma pasta do seu código, você precisa criar um pacote: stackoverflow.com/questions/15746675/how-to-write-a-python-module-package
Brabo :O
🙌🏾😁
Porque nao fez o percuso em pre ordem?
Não sei se entendi a pergunta. O vídeo do percurso em pré-ordem está aqui: th-cam.com/video/Lj2fDY4UayY/w-d-xo.htmlsi=opAodMsCV2jKRKNh
Ia ser um desafio foda implementar esse print bontinho da arvore
Realmente…mas é o tipo de coisa que não sei se a galera assiste em vídeo. Talvez em live? 🤔
Eu não sei por que, mas ta dando erro no def levelorder_traversal
quando vou aplicar o bst.levelorder_traversal()
C:\Users\clowd\AppData\Local\Programs\Python\Python38\python.exe "H:/Google Drive/CODEX/Python/Estruturas de dados/LinkedList/Tree/tree.py"
Traceback (most recent call last):
File "H:/Google Drive/CODEX/Python/Estruturas de dados/LinkedList/Tree/tree.py", line 196, in
bst.levelorder_traversal()
File "H:/Google Drive/CODEX/Python/Estruturas de dados/LinkedList/Tree/tree.py", line 132, in levelorder_traversal
node = fila.pop()
File "H:/Google Drive/CODEX/Python/Estruturas de dados/LinkedList/Tree/tree.py", line 41, in pop
self.primeiro = self.primeiro.next
AttributeError: 'Node' object has no attribute 'next'
11 16 32 43 51 55 61 66 77 79 82 89
-----
Process finished with exit code 1
O valor da lista example_tree, aplicado a função inorder funciona, mas quando chama a função levelorder_traversal da esses 3 erros.
Fui no seu codigo do github, copiei e colei no meu documento .py, e os erros se mantem, vocês teriam ideia de como se resolve isso ?
Abri um pull request ver-erro pra analizar de forma isolada o meu erro.
github.com/clowdcap/Tree/tree/ver-erros
Agradeço mesmo pelas aulas, vocês me ajudaram muuito, de vdd
O problema está aqui: AttributeError: 'Node' object has no attribute 'next'
A classe Nó da árvore tem "data", "left" e "right", mas não tem "next". Alguma linha está tentando acessar next: self.primeiro = self.primeiro.next.