Skip to content

EDAII/Ordenacao_Leetcode_Mateus_Miguel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 

Repository files navigation

Projeto: Algoritmos de Ordenação - Exercícios no LeetCode

Alunos

Matrícula Nome
21/1062240 Mateus Bastos dos Santos
21/1062320 Miguel Arhtur Oliveira de Lima

Descrição do Projeto

Este projeto foi desenvolvido como parte do primeiro trabalho da disciplina de Estruturas de Dados e Algoritmos II (EDA2), focado no estudo e implementação de algoritmos de ordenação. Foi utilizada a plataforma LeetCode para a realização da atividade e como base para os exercícios.

Exercícios Selecionados

Para este projeto, foram selecionados 2 exercícios nível Médio e 2 exercícios nível Difícil.

Exercício Dificuldade Método de Ordenação
01. Pancake Sorting Médio Ordenação por Pancake Sort
02. First Missing Positive Difícil Ordenação In-place
03. Kth Largest Element in an Array Médio Quickselect / Heap
04. Merge k Sorted Lists Difícil Heap / Merge Sort

Exercícios Desenvolvidos

969. Pancake Sorting (Médio)

Conceito: Problema que envolve ordenar um array utilizando apenas operações de reversão prefixada ("pancake flip"). A solução utiliza uma abordagem baseada em encontrar o maior elemento e movê-lo para a posição correta com o menor número de flips.

Link do exercício no LeetCode


41. First Missing Positive (Difícil)

Conceito: Problema que busca encontrar o menor inteiro positivo ausente em um array desordenado. A solução eficiente utiliza ordenação in-place para garantir complexidade linear e espaço constante.

Link do exercício no LeetCode


215. Kth Largest Element in an Array (Médio)

Conceito: Problema que consiste em encontrar o k-ésimo maior elemento em um array desordenado. As soluções mais comuns envolvem o uso de Quickselect ou Heap para obter eficiência.

Link do exercício no LeetCode


23. Merge k Sorted Lists (Difícil)

Conceito: Problema que requer a mesclagem de k listas ordenadas em uma única lista ordenada. A solução eficiente utiliza Heap (fila de prioridade) ou abordagem de Merge Sort para otimizar o tempo de execução.

Link do exercício no LeetCode


Como Validar os Exercícios

Passo 1: Acessar o LeetCode

  1. Vá para https://leetcode.com/
  2. Crie uma conta gratuita ou faça login

Passo 2: Navegar para o Exercício

  1. Pesquise pelo número do exercício (ex: "969" ou "23")
  2. Ou clique diretamente nos links fornecidos na tabela acima

Passo 3: Submeter o Código

  1. Selecione C++ como linguagem para os exercícios 01 e 02 e C para os exercícios 03 e 04.
  1. Copie o código do repositório local
  1. Cole no editor do LeetCode
  1. Clique no ícone Run para rodar o código.

Imagens do Projeto

Aqui estão algumas imagens que demonstram o projeto.

Exercício 969. Pancake Sorting

Pancake

Pancake

Exercício 41. First Missing Positive (Difícil)

FirstMissing FirstMissing


Exercício 215. Kth Largest Element in an Array

KthLargest

Exercício 23. Merge k Sorted Lists (Difícil)

MergeKLists


LINK da Apresentação:

🎥 Vídeo

Explicamos todos os códigos que fizemos na plataforma LeetCode:

About

Exercícios sobre algoritmos de ordenação no leetcode.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published