{"id":35176,"date":"2025-02-18T19:31:12","date_gmt":"2025-02-18T22:31:12","guid":{"rendered":"https:\/\/portifolioos-prontos.com\/?post_type=product&#038;p=35176"},"modified":"2025-08-03T18:19:17","modified_gmt":"2025-08-03T21:19:17","slug":"aula-pratica-algoritmos-e-estrutura-de-dados-avancado","status":"publish","type":"product","link":"https:\/\/portifolioos-prontos.com\/index.php\/product\/aula-pratica-algoritmos-e-estrutura-de-dados-avancado\/","title":{"rendered":"Aula Pr\u00e1tica Algoritmos e Estrutura de Dados Avan\u00e7ado"},"content":{"rendered":"<h5>Aula Pr\u00e1tica Algoritmos e Estrutura de Dados Avan\u00e7ado<\/h5>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">ROTEIRO DE AULA PR\u00c1TICA<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">NOME DA DISCIPLINA: ALGORITMOS E ESTRUTURA DE DADOS AVAN\u00c7ADO<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">Unidade: U1_ FUNDAMENTOS DE ALGORITMOS<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">Aula: A4_ NO\u00c7\u00d5ES DE ORDENA\u00c7\u00c3O<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">OBJETIVOS<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">Defini\u00e7\u00e3o dos objetivos da aula pr\u00e1tica:<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">Implementar e comparar diferentes algoritmos de ordena\u00e7\u00e3o em um cen\u00e1rio de aplica\u00e7\u00e3o realista.<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">O objetivo \u00e9 entender a efici\u00eancia e a aplicabilidade de cada algoritmo em diferentes situa\u00e7\u00f5es.<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">SOLU\u00c7\u00c3O DIGITAL<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">Computador com acesso \u00e0 Internet para uso do Google Colab<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">O Google Colab, ou Colaboratory, \u00e9 uma plataforma gratuita baseada na nuvem oferecida pelo<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">Google. Ela fornece um ambiente de notebook interativo e colaborativo que permite a cria\u00e7\u00e3o e<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">execu\u00e7\u00e3o de c\u00f3digo diretamente no navegador, sem a necessidade de configurar ou instalar<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">qualquer software no seu computador.<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">https:\/\/colab.google\/<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">PROCEDIMENTOS PR\u00c1TICOS<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">Procedimento\/Atividade n\u00ba 1<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">Atividade proposta:<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">Voc\u00ea trabalha em uma empresa de e-commerce e precisa ordenar uma lista de produtos com<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">base em diferentes crit\u00e9rios para melhorar a experi\u00eancia do usu\u00e1rio e a efici\u00eancia do sistema de<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">recomenda\u00e7\u00e3o. A lista de produtos inclui informa\u00e7\u00f5es como pre\u00e7o, avalia\u00e7\u00e3o dos usu\u00e1rios, data<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">de adi\u00e7\u00e3o ao cat\u00e1logo e categoria.<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">Procedimentos para a realiza\u00e7\u00e3o da atividade:<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">1. Prepara\u00e7\u00e3o dos Dados:<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\"><span style=\"mso-spacerun: yes;\">\u00a0<\/span>&#8211; Crie uma classe `Produto` com os seguintes atributos:<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\"><span style=\"mso-spacerun: yes;\">\u00a0<\/span>&#8211; `nome`: string<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\"><span style=\"mso-spacerun: yes;\">\u00a0<\/span>&#8211; `preco`: float<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">P\u00fablico3<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\"><span style=\"mso-spacerun: yes;\">\u00a0<\/span>&#8211; `avaliacao`: float (0 a 5)<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\"><span style=\"mso-spacerun: yes;\">\u00a0<\/span>&#8211; `data_adicao`: datetime<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\"><span style=\"mso-spacerun: yes;\">\u00a0<\/span>&#8211; `categoria`: string<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">2. Gera\u00e7\u00e3o de Dados:<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\"><span style=\"mso-spacerun: yes;\">\u00a0<\/span>&#8211; Escreva um script para gerar uma lista de 1000 produtos aleat\u00f3rios. Utilize bibliotecas como<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">`random` e `datetime` para preencher os atributos de cada produto.<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">3. Implementa\u00e7\u00e3o de Algoritmos de Ordena\u00e7\u00e3o:<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\"><span style=\"mso-spacerun: yes;\">\u00a0<\/span>&#8211; Implemente os seguintes algoritmos de ordena\u00e7\u00e3o:<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\"><span style=\"mso-spacerun: yes;\">\u00a0<\/span>&#8211; Bubble Sort<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\"><span style=\"mso-spacerun: yes;\">\u00a0<\/span>&#8211; Quick Sort<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\"><span style=\"mso-spacerun: yes;\">\u00a0<\/span>&#8211; Merge Sort<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\"><span style=\"mso-spacerun: yes;\">\u00a0<\/span>&#8211; Heap Sort<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">4. Crit\u00e9rios de Ordena\u00e7\u00e3o:<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\"><span style=\"mso-spacerun: yes;\">\u00a0<\/span>&#8211; Implemente fun\u00e7\u00f5es de ordena\u00e7\u00e3o para os seguintes crit\u00e9rios:<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\"><span style=\"mso-spacerun: yes;\">\u00a0<\/span>&#8211; Por pre\u00e7o (ascendente e descendente)<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\"><span style=\"mso-spacerun: yes;\">\u00a0<\/span>&#8211; Por avalia\u00e7\u00e3o (ascendente e descendente)<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\"><span style=\"mso-spacerun: yes;\">\u00a0<\/span>&#8211; Por data de adi\u00e7\u00e3o (mais recente primeiro e mais antigo primeiro)<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\"><span style=\"mso-spacerun: yes;\">\u00a0<\/span>&#8211; Por categoria (ordem alfab\u00e9tica)<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">5. Compara\u00e7\u00e3o de Desempenho:<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\"><span style=\"mso-spacerun: yes;\">\u00a0<\/span>&#8211; Me\u00e7a e compare o tempo de execu\u00e7\u00e3o de cada algoritmo para cada crit\u00e9rio de ordena\u00e7\u00e3o<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">utilizando a biblioteca `time`.<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">6. An\u00e1lise de Resultados:<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\"><span style=\"mso-spacerun: yes;\">\u00a0<\/span>&#8211; Escreva um relat\u00f3rio discutindo a efici\u00eancia de cada algoritmo de ordena\u00e7\u00e3o nos diferentes<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">crit\u00e9rios. Considere a complexidade temporal de cada algoritmo e como eles se comportam com<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">os dados gerados.<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">Dicas<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">&#8211; Utilize a fun\u00e7\u00e3o `sorted()` do Python para verificar a corretude das suas implementa\u00e7\u00f5es.<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">&#8211; A biblioteca `time` pode ser utilizada para medir o tempo de execu\u00e7\u00e3o de um bloco de c\u00f3digo.<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">&#8211; A biblioteca `datetime` pode ajudar na manipula\u00e7\u00e3o de datas.<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">&#8211; Para visualiza\u00e7\u00e3o, voc\u00ea pode utilizar gr\u00e1ficos de barras para mostrar o tempo de execu\u00e7\u00e3o de<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">cada algoritmo em diferentes cen\u00e1rios. A biblioteca `matplotlib` pode ser \u00fatil aqui.<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">P\u00fablico4<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">C\u00f3digo Inicial:<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">import random<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">import datetime<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">import time<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">class Produto:<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\"><span style=\"mso-spacerun: yes;\">\u00a0<\/span>def __init__(self, nome, preco, avaliacao, data_adicao, categoria):<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\"><span style=\"mso-spacerun: yes;\">\u00a0<\/span>self.nome = nome<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\"><span style=\"mso-spacerun: yes;\">\u00a0<\/span>self.preco = preco<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\"><span style=\"mso-spacerun: yes;\">\u00a0<\/span>self.avaliacao = avaliacao<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\"><span style=\"mso-spacerun: yes;\">\u00a0<\/span>self.data_adicao = data_adicao<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\"><span style=\"mso-spacerun: yes;\">\u00a0<\/span>self.categoria = categoria<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\"><span style=\"mso-spacerun: yes;\">\u00a0<\/span>def __repr__(self):<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\"><span style=\"mso-spacerun: yes;\">\u00a0<\/span>return f&#8221;{self.nome}: {self.preco}, {self.avaliacao}, {self.data_adicao}, {self.categoria}&#8221;<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">def gerar_produtos(n):<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\"><span style=\"mso-spacerun: yes;\">\u00a0<\/span>nomes = [&#8220;Produto&#8221; + str(i) for i in range(n)]<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\"><span style=\"mso-spacerun: yes;\">\u00a0<\/span>precos = [round(random.uniform(10, 1000), 2) for _ in range(n)]<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\"><span style=\"mso-spacerun: yes;\">\u00a0<\/span>avaliacoes = [round(random.uniform(0, 5), 2) for _ in range(n)]<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\"><span style=\"mso-spacerun: yes;\">\u00a0<\/span>datas = [datetime.datetime.now() &#8211; datetime.timedelta(days=random.randint(0, 365)) for _ in<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">range(n)]<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\"><span style=\"mso-spacerun: yes;\">\u00a0<\/span>categorias = [&#8220;Categoria&#8221; + str(random.randint(1, 5)) for _ in range(n)]<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\"><span style=\"mso-spacerun: yes;\">\u00a0<\/span>produtos = [Produto(nomes[i], precos[i], avaliacoes[i], datas[i], categorias[i]) for i in range(n)]<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\"><span style=\"mso-spacerun: yes;\">\u00a0<\/span>return produtos<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\"># Exemplo de gera\u00e7\u00e3o de produtos<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">produtos = gerar_produtos(1000)<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">for produto in produtos[:10]: # Mostrar os 10 primeiros produtos<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\"><span style=\"mso-spacerun: yes;\">\u00a0<\/span>print(produto)<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">Checklist:<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">\u2022 Prepara\u00e7\u00e3o dos Dados<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">\u2022 Gera\u00e7\u00e3o de Dados<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">\u2022 Implementa\u00e7\u00e3o de Algoritmos de Ordena\u00e7\u00e3o<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">P\u00fablico5<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">\u2022 Crit\u00e9rios de Ordena\u00e7\u00e3o<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">\u2022 Compara\u00e7\u00e3o de Desempenho<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">\u2022 An\u00e1lise de Resultados<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">RESULTADOS<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">Resultados de Aprendizagem:<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">Espera-se que o aluno seja capaz de entender a implementa\u00e7\u00e3o e a an\u00e1lise dos principais<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">algoritmos de ordena\u00e7\u00e3o aplicados a um cen\u00e1rio realista, proporcionando uma compreens\u00e3o<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">pr\u00e1tica e te\u00f3rica s\u00f3lida sobre a efici\u00eancia dos diferentes m\u00e9todos de ordena\u00e7\u00e3o.<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">ESTUDANTE, VOC\u00ca DEVER\u00c1 ENTREGAR<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">Descri\u00e7\u00e3o orientativa sobre a entregada da comprova\u00e7\u00e3o da aula pr\u00e1tica:<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">\u2022 Para comprovar a realiza\u00e7\u00e3o da atividade, \u00e9 necessario entregar um arquivo com os<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">c\u00f3digos criados e um PDF com o relat\u00f3rio de an\u00e1lise.<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">Unidade: U2_ \u00c1RVORES<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">Aula: A1_ \u00c1RVORES AVL<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">OBJETIVOS<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">Defini\u00e7\u00e3o dos objetivos da aula pr\u00e1tica:<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">Entender os conceitos de balanceamento e rota\u00e7\u00e3o em \u00e1rvores bin\u00e1rias de busca implementando<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">uma \u00c1rvore AVL em Python, incluindo inser\u00e7\u00e3o, remo\u00e7\u00e3o e busca de n\u00f3s, al\u00e9m de garantir que a<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">\u00e1rvore permane\u00e7a balanceada ap\u00f3s cada opera\u00e7\u00e3o.<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">SOLU\u00c7\u00c3O DIGITAL<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">Computador com acesso \u00e0 Internet para uso do Google Colab<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">O Google Colab, ou Colaboratory, \u00e9 uma plataforma gratuita baseada na nuvem oferecida pelo<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">Google. Ela fornece um ambiente de notebook interativo e colaborativo que permite a cria\u00e7\u00e3o e<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">execu\u00e7\u00e3o de c\u00f3digo diretamente no navegador, sem a necessidade de configurar ou instalar<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">qualquer software no seu computador.<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">https:\/\/colab.google\/<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">P\u00fablico6<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">PROCEDIMENTOS PR\u00c1TICOS<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">Procedimento\/Atividade n\u00ba 1<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">Atividade proposta:<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">Voc\u00ea trabalha em uma empresa de tecnologia que est\u00e1 desenvolvendo um sistema de<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">gerenciamento de dados. Para otimizar as opera\u00e7\u00f5es de busca, inser\u00e7\u00e3o e remo\u00e7\u00e3o, voc\u00ea foi<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">designado para implementar uma \u00c1rvore AVL que manter\u00e1 os dados balanceados.<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">Procedimentos para a realiza\u00e7\u00e3o da atividade:<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">1. Defini\u00e7\u00e3o da Estrutura da \u00c1rvore AVL:<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\"><span style=\"mso-spacerun: yes;\">\u00a0<\/span>&#8211; Crie uma classe `Node` para representar cada n\u00f3 da \u00e1rvore.<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\"><span style=\"mso-spacerun: yes;\">\u00a0<\/span>&#8211; Crie uma classe `AVLTree` para gerenciar as opera\u00e7\u00f5es na \u00e1rvore.<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">2. Implementa\u00e7\u00e3o de Opera\u00e7\u00f5es B\u00e1sicas:<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\"><span style=\"mso-spacerun: yes;\">\u00a0<\/span>&#8211; Implementar a inser\u00e7\u00e3o de n\u00f3s na \u00e1rvore AVL.<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\"><span style=\"mso-spacerun: yes;\">\u00a0<\/span>&#8211; Implementar a remo\u00e7\u00e3o de n\u00f3s da \u00e1rvore AVL.<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\"><span style=\"mso-spacerun: yes;\">\u00a0<\/span>&#8211; Implementar a busca de n\u00f3s na \u00e1rvore AVL.<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">3. Balanceamento da \u00c1rvore:<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\"><span style=\"mso-spacerun: yes;\">\u00a0<\/span>&#8211; Implementar as rota\u00e7\u00f5es \u00e0 esquerda e \u00e0 direita para manter a \u00e1rvore balanceada.<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\"><span style=\"mso-spacerun: yes;\">\u00a0<\/span>&#8211; Garantir que, ap\u00f3s cada inser\u00e7\u00e3o e remo\u00e7\u00e3o, a \u00e1rvore permanece uma AVL v\u00e1lida.<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">4. Testes de Valida\u00e7\u00e3o:<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\"><span style=\"mso-spacerun: yes;\">\u00a0<\/span>&#8211; Escreva testes para validar a inser\u00e7\u00e3o, remo\u00e7\u00e3o e busca em diferentes cen\u00e1rios.<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\"><span style=\"mso-spacerun: yes;\">\u00a0<\/span>&#8211; Testar casos de borda como inser\u00e7\u00e3o de n\u00f3s em ordem ascendente ou descendente para<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">verificar o balanceamento.<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">5. Visualiza\u00e7\u00e3o da \u00c1rvore:<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\"><span style=\"mso-spacerun: yes;\">\u00a0<\/span>&#8211; Implementar uma fun\u00e7\u00e3o para imprimir a \u00e1rvore de forma que seja f\u00e1cil visualizar sua estrutura<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">e balanceamento.<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">Dicas<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">&#8211; Utilize a propriedade de altura dos n\u00f3s para ajudar no balanceamento.<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">&#8211; Uma \u00e1rvore AVL \u00e9 uma \u00e1rvore bin\u00e1ria de busca onde a diferen\u00e7a de altura entre as sub\u00e1rvores<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">esquerda e direita de qualquer n\u00f3 \u00e9 no m\u00e1ximo 1.<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">&#8211; As rota\u00e7\u00f5es (simples e duplas) s\u00e3o cruciais para manter a \u00e1rvore balanceada.<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">P\u00fablico7<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">Checklist:<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">\u2022 Defini\u00e7\u00e3o da Estrutura da \u00c1rvore AVL:<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">\u2022 Implementa\u00e7\u00e3o de Opera\u00e7\u00f5es B\u00e1sicas:<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">\u2022 Balanceamento da \u00c1rvore:<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">\u2022 Testes de Valida\u00e7\u00e3o:<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">\u2022 Visualiza\u00e7\u00e3o da \u00c1rvore:<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">RESULTADOS<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">Resultados de Aprendizagem:<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">Espera-se que o aluno seja capaz de entender a implementa\u00e7\u00e3o de uma \u00c1rvore AVL em Python<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">com opera\u00e7\u00f5es de inser\u00e7\u00e3o, remo\u00e7\u00e3o e busca, al\u00e9m do balanceamento autom\u00e1tico,<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">demonstrando habilidade pr\u00e1tica.<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">ESTUDANTE, VOC\u00ca DEVER\u00c1 ENTREGAR<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">Descri\u00e7\u00e3o orientativa sobre a entregada da comprova\u00e7\u00e3o da aula pr\u00e1tica:<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">Para comprovar a realiza\u00e7\u00e3o da atividade, \u00e9 necessario entregar um relat\u00f3rio em PDF com:<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">\u2022 C\u00f3digos criados<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">\u2022 Prints de tela com os resultados da execu\u00e7\u00e3o<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">\u2022 Um breve relat\u00f3rio de an\u00e1lise.<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">Unidade: U3_ GRAFOS<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">Aula: A3_ CAMINHOS M\u00cdNIMOS<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">OBJETIVOS<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">Defini\u00e7\u00e3o dos objetivos da aula pr\u00e1tica:<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">Compreender os conceitos de grafos, algoritmos de busca de caminhos m\u00ednimos e estruturas de<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">dados como listas de adjac\u00eancia e filas de prioridade.<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">SOLU\u00c7\u00c3O DIGITAL<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">Computador com acesso \u00e0 Internet para uso do Google Colab<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">O Google Colab, ou Colaboratory, \u00e9 uma plataforma gratuita baseada na nuvem oferecida pelo<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">Google. Ela fornece um ambiente de notebook interativo e colaborativo que permite a cria\u00e7\u00e3o e<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">execu\u00e7\u00e3o de c\u00f3digo diretamente no navegador, sem a necessidade de configurar ou instalar<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">qualquer software no seu computador.<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">P\u00fablico8<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">https:\/\/colab.google\/<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">PROCEDIMENTOS PR\u00c1TICOS<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">Procedimento\/Atividade n\u00ba 1<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">Atividade proposta:<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">Voc\u00ea est\u00e1 desenvolvendo um sistema de navega\u00e7\u00e3o para uma aplica\u00e7\u00e3o de mapas. Para<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">encontrar a rota mais curta entre dois pontos, voc\u00ea precisa implementar o algoritmo de Dijkstra.<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">Procedimentos para a realiza\u00e7\u00e3o da atividade:<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">1. Defini\u00e7\u00e3o da Estrutura do Grafo:<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">\u2022 Crie uma classe Graph para representar o grafo usando uma lista de adjac\u00eancia.<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">\u2022 Cada aresta do grafo deve ter um peso associado.<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">2. Implementa\u00e7\u00e3o do Algoritmo de Dijkstra:<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">\u2022 Implemente o algoritmo de Dijkstra para encontrar o caminho mais curto a partir de<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">um n\u00f3 de origem para todos os outros n\u00f3s do grafo.<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">\u2022 Utilize uma fila de prioridade (min-heap) para otimizar a escolha do pr\u00f3ximo n\u00f3 com<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">a menor dist\u00e2ncia.<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">3. Fun\u00e7\u00e3o para Encontrar o Caminho M\u00ednimo:<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">\u2022 Implemente uma fun\u00e7\u00e3o que, dado um n\u00f3 de origem e um n\u00f3 de destino, retorne o<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">caminho m\u00ednimo e a dist\u00e2ncia m\u00ednima entre esses n\u00f3s.<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">4. Testes de Valida\u00e7\u00e3o:<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">\u2022 Escreva testes para validar o algoritmo com diferentes grafos e n\u00f3s de origem e<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">destino.<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">\u2022 Teste casos de borda, como grafos desconectados ou n\u00f3s sem arestas.<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">5. Visualiza\u00e7\u00e3o do Caminho:<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">\u2022 Implemente uma fun\u00e7\u00e3o para imprimir o caminho m\u00ednimo de forma leg\u00edvel.<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">Dicas<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">\u2022 Utilize um dicion\u00e1rio para representar o grafo onde as chaves s\u00e3o os n\u00f3s e os valores s\u00e3o<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">listas de tuplas (vizinho, peso).<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">\u2022 A fila de prioridade pode ser implementada usando o m\u00f3dulo heapq do Python.<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">P\u00fablico9<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">\u2022 Mantenha um dicion\u00e1rio de dist\u00e2ncias m\u00ednimas e um dicion\u00e1rio de predecessores para<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">reconstruir o caminho<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">RESULTADOS<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">Resultados de Aprendizagem:<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">Espera-se que o aluno seja capaz de entender a implementa\u00e7\u00e3o de um algoritmo que encontra<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">caminhos m\u00ednimos em grafos.<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">ESTUDANTE, VOC\u00ca DEVER\u00c1 ENTREGAR<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">Descri\u00e7\u00e3o orientativa sobre a entregada da comprova\u00e7\u00e3o da aula pr\u00e1tica:<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">Para comprovar a realiza\u00e7\u00e3o da atividade, \u00e9 necessario entregar um relat\u00f3rio em PDF com:<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">\u2022 C\u00f3digos criados<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">\u2022 Prints de tela com os resultados da execu\u00e7\u00e3o<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">\u2022 Um breve relat\u00f3rio explicando todo o procedimento realizado.<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">Unidade: U4_ COMPRESS\u00c3O DE DADOS E OUTRAS ESTRUTURAS<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">Aula: A1_ HEAP<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">OBJETIVOS<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">Defini\u00e7\u00e3o dos objetivos da aula pr\u00e1tica:<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">Aprender a construir uma lista de prioridade, inserir e remover elementos no heap, e alterar a<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">prioridade de elementos existentes.<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">SOLU\u00c7\u00c3O DIGITAL<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">Infraestrutura m\u00ednima necess\u00e1ria para execu\u00e7\u00e3o.<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">Computador com acesso \u00e0 Internet para uso do Google Colab<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">O Google Colab, ou Colaboratory, \u00e9 uma plataforma gratuita baseada na nuvem oferecida pelo<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">Google. Ela fornece um ambiente de notebook interativo e colaborativo que permite a cria\u00e7\u00e3o e<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">execu\u00e7\u00e3o de c\u00f3digo diretamente no navegador, sem a necessidade de configurar ou instalar<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">qualquer software no seu computador.<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">https:\/\/colab.google\/<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">P\u00fablico10<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">PROCEDIMENTOS PR\u00c1TICOS<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">Procedimento\/Atividade n\u00ba 1<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">Atividade proposta:<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">Voc\u00ea dever\u00e1 implementar uma lista de prioridade usando um heap (min-heap) em Python.<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">Procedimentos para a realiza\u00e7\u00e3o da atividade:<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">1. Constru\u00e7\u00e3o da Lista de Prioridade: Construa a classe `PriorityQueue`<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\"><span style=\"mso-spacerun: yes;\">\u00a0<\/span>&#8211; Implemente uma lista de prioridade usando um min-heap.<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\"><span style=\"mso-spacerun: yes;\">\u00a0<\/span>&#8211; crie uma fun\u00e7\u00e3o para inicializar a lista de prioridade.<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\"><span style=\"mso-spacerun: yes;\">\u00a0<\/span>&#8211; Implemente fun\u00e7\u00f5es para inserir elementos na lista de prioridade.<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\"><span style=\"mso-spacerun: yes;\">\u00a0<\/span>&#8211; Implemente fun\u00e7\u00f5es para remover o elemento com a menor prioridade.<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\"><span style=\"mso-spacerun: yes;\">\u00a0<\/span>&#8211; Implemente uma fun\u00e7\u00e3o para alterar a prioridade de um elemento existente.<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">2. Teste da Lista de Prioridade: Implemente a fun\u00e7\u00e3o `test_priority_queue` para testar a lista de<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">prioridade<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\"><span style=\"mso-spacerun: yes;\">\u00a0<\/span>&#8211; Inicialize uma lista de prioridade.<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\"><span style=\"mso-spacerun: yes;\">\u00a0<\/span>&#8211; Adicione tarefas com diferentes prioridades e exiba a lista.<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\"><span style=\"mso-spacerun: yes;\">\u00a0<\/span>&#8211; Insira novas tarefas na lista de prioridade.<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\"><span style=\"mso-spacerun: yes;\">\u00a0<\/span>&#8211; Remova a tarefa com a menor prioridade e exiba a lista ap\u00f3s cada remo\u00e7\u00e3o.<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\"><span style=\"mso-spacerun: yes;\">\u00a0<\/span>&#8211; Altere a prioridade de uma tarefa existente e exiba a lista.<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\"><span style=\"mso-spacerun: yes;\">\u00a0<\/span>&#8211; Verifique os resultados e assegure-se de que as opera\u00e7\u00f5es de inser\u00e7\u00e3o, remo\u00e7\u00e3o e altera\u00e7\u00e3o<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">de prioridade funcionam conforme esperado.<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">Dicas<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">&#8211; Use a estrutura de min-heap do m\u00f3dulo `heapq` para gerenciar a lista de prioridade.<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">&#8211; Mantenha um dicion\u00e1rio (`entry_finder`) para rastrear os itens na lista e facilitar a altera\u00e7\u00e3o de<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">prioridade.<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">&#8211; Use um contador (`counter`) para diferenciar entre tarefas com a mesma prioridade.<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">RESULTADOS<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">Resultados de Aprendizagem:<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">Espera-se que o aluno seja capaz de entender a implementa\u00e7\u00e3o de um algoritmo de lista de<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">prioridades com heap.<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">P\u00fablico11<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">ESTUDANTE, VOC\u00ca DEVER\u00c1 ENTREGAR<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">Descri\u00e7\u00e3o orientativa sobre a entregada da comprova\u00e7\u00e3o da aula pr\u00e1tica:<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">Para comprovar a realiza\u00e7\u00e3o da atividade, \u00e9 necessario entregar um relat\u00f3rio em PDF com:<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">\u2022 C\u00f3digos criados<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">\u2022 Prints de tela com os resultados da execu\u00e7\u00e3o<\/p>\n<p class=\"MsoNormal\" style=\"margin-bottom: 0cm; text-align: justify;\">\u2022 Um breve relat\u00f3rio explicando todo o procedimento realizado<\/p>\n<div class=\"elementor-toggle-item\" style=\"box-sizing: border-box;\">\n<div class=\"elementor-toggle-item\">\n<p id=\"elementor-tab-title-1941\" class=\"elementor-tab-title elementor-active\" tabindex=\"0\" role=\"tab\" data-tab=\"1\" aria-controls=\"elementor-tab-content-1941\" aria-expanded=\"true\" aria-selected=\"true\"><strong>Como funciona?<\/strong><\/p>\n<p>Elaboramos os portf\u00f3lios, j\u00e1 deixamos prontos, nas normas da ABNT e conforme os requisitos da universidade. F\u00e1cil assim! O MELHOR \u00c9 QUE VOC\u00ca COMPRA E J\u00c1 BAIXA NA HORA O SEU ARQUIVO EM WORD! Sabemos que conciliar trabalho, fam\u00edlia, vida profissional e estudos \u00e9 dif\u00edcil hoje em dia, por isso, estamos aqui para ajudar voc\u00ea. Conte com nossa qualidade, experi\u00eancia e profissionalismo adquirindo seu portf\u00f3lio conosco. GARANTIMOS SEU CONCEITO!<\/p>\n<p><strong>Como se realizam os envios?<\/strong><\/p>\n<\/div>\n<p id=\"elementor-tab-content-1942\" class=\"elementor-tab-content elementor-clearfix elementor-active\" role=\"tabpanel\" data-tab=\"2\" aria-labelledby=\"elementor-tab-title-1942\">O seu trabalho \u00e9 disponibilizado pronto, respondido e nas normas j\u00e1 na mesma hora aqui em nosso site na sua \u00e1rea de downloads e tamb\u00e9m no seu e-mail.<\/p>\n<p><strong>Em quanto tempo recebo o portf\u00f3lio?<\/strong><\/p>\n<p>Os envios s\u00e3o imediatos. Ap\u00f3s sua compra, o trabalho j\u00e1 \u00e9 disponibilizado instantaneamente aqui em nosso site e no seu e-mail.<\/p>\n<p><strong>E se o portf\u00f3lio que comprei precisar de corre\u00e7\u00e3o?<\/strong><\/p>\n<p>Caso haja alguma solicita\u00e7\u00e3o de corre\u00e7\u00e3o\/altera\u00e7\u00e3o por parte do tutor, basta entrar em contato conosco pelo\u00a0WhatsApp\u00a0que provid\u00eanciaremos sem custo algum.<\/p>\n<p><strong>Qual o formato do arquivo?<\/strong><\/p>\n<p>Os arquivos s\u00e3o enviados em formato Word e s\u00e3o edit\u00e1veis.<\/p>\n<p><strong>Caso eu tiver alguma d\u00favida, terei suporte no p\u00f3s venda?<\/strong><\/p>\n<p>Sim, com certeza. Basta clicar no \u00edcone do WhatsApp no cantinho da tela. Ser\u00e1 um prazer atend\u00ea-lo(a).<\/p>\n<div id=\"elementor-tab-content-1948\" class=\"elementor-tab-content elementor-clearfix elementor-active\" role=\"tabpanel\" data-tab=\"8\" aria-labelledby=\"elementor-tab-title-1948\">\n<p><strong>Quais os seus canais de contato?<\/strong><\/p>\n<\/div>\n<div id=\"elementor-tab-content-1949\" class=\"elementor-tab-content elementor-clearfix elementor-active\" role=\"tabpanel\" data-tab=\"9\" aria-labelledby=\"elementor-tab-title-1949\">\n<p>Whatsapp: 53 984751621 \u2013 Clicar no canto da tela ou ESCANEIE O QRCODE ABAIXO<\/p>\n<h4><img decoding=\"async\" class=\"alignnone wp-image-13699 jetpack-lazy-image jetpack-lazy-image--handled\" src=\"https:\/\/i0.wp.com\/portifolioos-prontos.com\/wp-content\/uploads\/2023\/02\/whatsapp-business-projeto-de-extensao-300x300.jpeg?resize=144%2C144\" sizes=\"(max-width: 144px) 100vw, 144px\" srcset=\"https:\/\/i0.wp.com\/portifolioos-prontos.com\/wp-content\/uploads\/2023\/02\/whatsapp-business-projeto-de-extensao.jpeg?resize=300%2C301&amp;ssl=1 300w, https:\/\/i0.wp.com\/portifolioos-prontos.com\/wp-content\/uploads\/2023\/02\/whatsapp-business-projeto-de-extensao.jpeg?resize=150%2C150&amp;ssl=1 150w, https:\/\/i0.wp.com\/portifolioos-prontos.com\/wp-content\/uploads\/2023\/02\/whatsapp-business-projeto-de-extensao.jpeg?resize=370%2C372&amp;ssl=1 370w, https:\/\/i0.wp.com\/portifolioos-prontos.com\/wp-content\/uploads\/2023\/02\/whatsapp-business-projeto-de-extensao.jpeg?resize=100%2C100&amp;ssl=1 100w, https:\/\/i0.wp.com\/portifolioos-prontos.com\/wp-content\/uploads\/2023\/02\/whatsapp-business-projeto-de-extensao.jpeg?w=470&amp;ssl=1 470w\" alt=\"projeto de extens\u00e3o unopar\" width=\"144\" height=\"144\" data-lazy-loaded=\"1\" \/><\/h4>\n<\/div>\n<div class=\"elementor-toggle-item\">\n<div id=\"elementor-tab-content-1949\" class=\"elementor-tab-content elementor-clearfix elementor-active\" role=\"tabpanel\" data-tab=\"9\" aria-labelledby=\"elementor-tab-title-1949\">\n<p>E-mail:portifoliosp@gmail.com<\/p>\n<div id=\"attachment_143\" class=\"wp-caption alignnone\">\n<div id=\"attachment_143\" class=\"wp-caption alignnone\">\n<p id=\"caption-attachment-143\" class=\"wp-caption-text\"><a href=\"http:\/\/portfolio-pronto.com\/\">Portf\u00f3lio<\/a>\u00a0em Word, respondido, completo e j\u00e1 nas normas<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<div class=\"product-short-description\" style=\"box-sizing: border-box;\">\n<div class=\"product-short-description\">\n<p><strong>Pague pelo PIX ou cart\u00e3o e fa\u00e7a o download agora mesmo.<\/strong><\/p>\n<\/div>\n<div class=\"sticky-add-to-cart-wrapper\">\n<div class=\"sticky-add-to-cart\">\n<p class=\"quantity buttons_added form-flat\"><img decoding=\"async\" class=\"lazyloaded smush-image-5 smush-image-3 smush-image-4 smush-detected-img smush-image-bigger-3\" src=\"https:\/\/d26lpennugtm8s.cloudfront.net\/assets\/common\/img\/logos\/payment\/visa@2x.png\" width=\"46\" height=\"29\" data-src=\"https:\/\/d26lpennugtm8s.cloudfront.net\/assets\/common\/img\/logos\/payment\/visa@2x.png\" \/><img decoding=\"async\" class=\"lazyloaded smush-image-6 smush-image-4 smush-image-5 smush-detected-img smush-image-bigger-4\" src=\"https:\/\/d26lpennugtm8s.cloudfront.net\/assets\/common\/img\/logos\/payment\/boleto@2x.png\" width=\"43\" height=\"27\" data-src=\"https:\/\/d26lpennugtm8s.cloudfront.net\/assets\/common\/img\/logos\/payment\/boleto@2x.png\" \/><img loading=\"lazy\" decoding=\"async\" class=\"lazyloaded smush-image-7 smush-image-5 smush-image-6 smush-detected-img smush-image-bigger-5\" src=\"https:\/\/d26lpennugtm8s.cloudfront.net\/assets\/common\/img\/logos\/payment\/mastercard@2x.png\" width=\"43\" height=\"27\" data-src=\"https:\/\/d26lpennugtm8s.cloudfront.net\/assets\/common\/img\/logos\/payment\/mastercard@2x.png\" \/><img loading=\"lazy\" decoding=\"async\" class=\"lazyloaded smush-image-8 smush-image-6 smush-image-7 smush-detected-img smush-image-bigger-6\" src=\"https:\/\/d26lpennugtm8s.cloudfront.net\/assets\/common\/img\/logos\/payment\/amex@2x.png\" width=\"43\" height=\"27\" data-src=\"https:\/\/d26lpennugtm8s.cloudfront.net\/assets\/common\/img\/logos\/payment\/amex@2x.png\" \/><img loading=\"lazy\" decoding=\"async\" class=\"lazyloaded smush-image-9 smush-image-7 smush-image-8 smush-detected-img smush-image-bigger-7\" src=\"https:\/\/d26lpennugtm8s.cloudfront.net\/assets\/common\/img\/logos\/payment\/diners@2x.png\" width=\"46\" height=\"29\" data-src=\"https:\/\/d26lpennugtm8s.cloudfront.net\/assets\/common\/img\/logos\/payment\/diners@2x.png\" \/><img loading=\"lazy\" decoding=\"async\" class=\"lazyloaded smush-image-10 smush-image-8 smush-image-9 alignnone smush-detected-img smush-image-bigger-8\" src=\"https:\/\/d26lpennugtm8s.cloudfront.net\/assets\/common\/img\/logos\/payment\/br\/elo@2x.png\" alt=\"portf\u00f3lio unopar anhanguera\" width=\"45\" height=\"28\" data-src=\"https:\/\/d26lpennugtm8s.cloudfront.net\/assets\/common\/img\/logos\/payment\/br\/elo@2x.png\" \/><img loading=\"lazy\" decoding=\"async\" class=\"lazyloaded smush-image-11 smush-image-9 smush-image-10 alignnone smush-detected-img smush-image-bigger-9\" src=\"https:\/\/d26lpennugtm8s.cloudfront.net\/assets\/common\/img\/logos\/payment\/br\/hipercard@2x.png\" alt=\"portf\u00f3lio unopar anhanguera\" width=\"44\" height=\"28\" data-src=\"https:\/\/d26lpennugtm8s.cloudfront.net\/assets\/common\/img\/logos\/payment\/br\/hipercard@2x.png\" \/><img loading=\"lazy\" decoding=\"async\" class=\"lazyloaded smush-image-12 smush-image-10 smush-image-11 alignnone smush-detected-img smush-image-bigger-10\" src=\"https:\/\/d26lpennugtm8s.cloudfront.net\/assets\/common\/img\/logos\/payment\/mercadopago@2x.png\" alt=\"portf\u00f3lio unopar anhanguera\" width=\"45\" height=\"28\" data-src=\"https:\/\/d26lpennugtm8s.cloudfront.net\/assets\/common\/img\/logos\/payment\/mercadopago@2x.png\" \/><img loading=\"lazy\" decoding=\"async\" class=\"alignnone lazyloaded smush-detected-img smush-image-bigger-11\" src=\"https:\/\/futurium.com.br\/wp-content\/uploads\/2021\/06\/logo-pix-icone-512.png\" alt=\"portfolio pronto\" width=\"30\" height=\"30\" data-src=\"https:\/\/futurium.com.br\/wp-content\/uploads\/2021\/06\/logo-pix-icone-512.png\" \/><\/p>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"featured_media":35179,"template":"","meta":{"_seopress_robots_primary_cat":"","_seopress_titles_title":"%%post_title%% %%sitetitle%%","_seopress_titles_desc":"%%post_content%%","_seopress_robots_index":""},"product_cat":[15],"product_tag":[],"class_list":{"0":"post-35176","1":"product","2":"type-product","3":"status-publish","4":"has-post-thumbnail","6":"product_cat-uncategorized","8":"first","9":"instock","10":"shipping-taxable","11":"purchasable","12":"product-type-simple","13":"col-xs-6 col-sm-4","14":"col-mf-5","15":"un-5-cols"},"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/portifolioos-prontos.com\/index.php\/wp-json\/wp\/v2\/product\/35176","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/portifolioos-prontos.com\/index.php\/wp-json\/wp\/v2\/product"}],"about":[{"href":"https:\/\/portifolioos-prontos.com\/index.php\/wp-json\/wp\/v2\/types\/product"}],"version-history":[{"count":0,"href":"https:\/\/portifolioos-prontos.com\/index.php\/wp-json\/wp\/v2\/product\/35176\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/portifolioos-prontos.com\/index.php\/wp-json\/wp\/v2\/media\/35179"}],"wp:attachment":[{"href":"https:\/\/portifolioos-prontos.com\/index.php\/wp-json\/wp\/v2\/media?parent=35176"}],"wp:term":[{"taxonomy":"product_cat","embeddable":true,"href":"https:\/\/portifolioos-prontos.com\/index.php\/wp-json\/wp\/v2\/product_cat?post=35176"},{"taxonomy":"product_tag","embeddable":true,"href":"https:\/\/portifolioos-prontos.com\/index.php\/wp-json\/wp\/v2\/product_tag?post=35176"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}