Boa tarde Professor, por que a altura só muda para o nó antigo nó pai e o antigo filho à direita? No caso a altura do nó 32 do exemplo também não mudaria?
@Srj4xx Жыл бұрын
Porque o no exemplo 32 é folha! Como o nó folha não será alterado não tem pq mudar a altura dele.
@patriciaRamosJujuba3 жыл бұрын
Olá boa noite professor, primeiramente eu queria te agradecer por ministrar esse curso pois ele tem me auxiliado imensamente na minha graduação. Queria te perguntar: y->esquerdo=r; //o nó a esquerda passa a apontar para o ponteiro r ? fiquei em dúvida nessa parte y->esquerdo=r; //o nó a direita, passa a apontar para o ponteiro r r->direita = f; //o ponteiro r passa a apontar para o nó filho Eu não entendi o pq de ser y->esquerda e r->direita?, poderia explicar o pq?
@programeseufuturo3 жыл бұрын
Olá J Namoral Sugiro que você assista a aula novamente prestando atenção à explicação. Explico suas dúvidas a partir de 2:20. 1) "y->esquerdo=r; //o nó a esquerda passa a apontar para o ponteiro r ?" Sim. É uma rotação a esquerda pois o fator de balanceamento é negativo. Então, o nó que está desbalanceado vai virar filho do seu filho a direita. Porque o filho da direita? Porque o fator de balanceamento é negativo. Se é negativo, então a árvore está maior (desbalanceada) para a direita. 2) "y->esquerdo=r; //o nó a direita, passa a apontar para o ponteiro r" NÃO. É y->esquerda e não y->direita. 3) "r->direita = f; //o ponteiro r passa a apontar para o nó filho" Não é o ponteiro r, é ponteiro direita de r, por isso r seta direita (r->direita). 4) Eu não entendi o pq de ser y->esquerda e r->direita?, poderia explicar o pq? Eu explico isso no vídeo. Pq r-direita? Porque o fator de balanceamento é negativo, então a árvore "está maior" à direita. Neste caso o nó com fator de balanceamento -2 vai se tornar filho a esquerda da subárvore direita. Pq y->esquerda? O nó desbalanceado vai ocupar essa posição, mas e se existir um filho aqui? Então primeiro precisamos salvar esse filho pra depois fazer esse ponteiro apontar para r.
@canwerunit3 жыл бұрын
Estou dando esse assunto na faculdade. Sua explicação é muito boa mas eu sinto que futuramente não vou dar conta pois acho essa parte de Estrutura de Dados muito dificil. Pra uma pessoa que quer ser programador, você acha que é necessário ela saber de forma decorada como criar arvore AVL ou grafos, ou ela não precisa se preocupar com isso pois já existem bibliotecas prontas? Obs: curso engenharia de computação mas quero ser apenas programador. Obs2: Por favor continue com esses videos, tem me ajudado bastante.
@canwerunit3 жыл бұрын
Obs3: quando eu falo que quero ser apenas programador, meu foco é desenvolvimento web ou mobile. Até mesmo data scientist
@programeseufuturo3 жыл бұрын
Olá Can. Primeiramente obrigado pelo feedback. Fico feliz em saber que as aulas estão ajudando. Agora, vamos às dúvidas. 1) "é necessário ela saber de forma decorada como criar arvore AVL ou grafos, ou ela não precisa se preocupar com isso pois já existem bibliotecas prontas?" Um desenvolvedor, na grande maioria das vezes, utiliza as bibliotecas. Os códigos das bibliotecas já foram exaustivamente testados e otimizados, então há "certa" garantia de que irão funcionar bem. Mas isso não significa que ele não precisa conhecer a estrutura. Perceba que conhecer a estrutura é diferente de ter o código decorado na cabeça. Estas operações, especialmente as rotações em uma AVL, são operações complexas e acredito que só um professor que ministra aulas sobre o assunto todo semestre terá esses códigos na cabeça, até porque não é necessário implementar uma AVL todo dia rsrsrs. O ponto chave é que as bibliotecas nem sempre trazem tudo pronto do jeitinho que você precisa, então você precisa conhecer a estrutura e saber como ela funciona para adaptar ao seu problema. 2) "quando eu falo que quero ser apenas programador, meu foco é desenvolvimento web ou mobile. Até mesmo data scientist" Aqui tem duas vertentes interessantes. Em programação web e mobile é provável que você nunca utilize uma AVL. A maioria dos sistemas web o mobile não precisa dessa complexidade toda, mas claro, depende muito do objetivo final, o que o sistema irá fazer. Contudo, se você for para análise de dados, aí surgirão coisas até mais complexas que uma AVL e muita estatística rsrsrs. Novamente, você não precisa ter o código decorado, mas precisa saber como as bibliotecas, frameworks e modelos funcionam para aplicá-los bem ao problema que está tentando resolver.
@canwerunit3 жыл бұрын
@@programeseufuturo Muito obrigado pela resposta! Esclareceu muita coisa.
@canwerunit3 жыл бұрын
@@programeseufuturo Você futuramente irá postar conteúdo sobre Tabela Hash?
@programeseufuturo3 жыл бұрын
Já tem duas playlists aqui no canal sobre tabelas hash Can. Uma aqui: kzbin.info/aero/PLqJK4Oyr5WSisaGqv-nq0nfG-1OvU3uf1 e outra aqui: kzbin.info/aero/PLqJK4Oyr5WSgQitU_ZBZCbvq7DgOhlo3c