InstruçÔes

Implementar o Algoritmo Quicksort

Objetivo: Cumprir as user stories abaixo e fazer todos os testes passarem para completar o laboratĂłrio. HistĂłrias de UsuĂĄrio: 1. VocĂȘ deve definir uma função chamada quick_sort para implementar o algoritmo quicksort. 1. A função quick_sort deve receber uma lista de inteiros como entrada e retornar uma nova lista desses inteiros em ordem crescente, do menor para o maior. 1. Para implementar o algoritmo, vocĂȘ deve:
  • Escolha um valor pivot dentre os elementos da lista de entrada (use o primeiro ou o Ășltimo elemento da lista).
  • Particione a lista de entrada em trĂȘs sublistas: uma com elementos menores que o pivot, uma com elementos iguais ao pivot e uma com elementos maiores que o pivot.
  • Chame recursivamente quick_sort para ordenar as sublistas e concatene as sublistas ordenadas para produzir a lista final ordenada.

O que fazer:

Testes:

  • VocĂȘ deve ter uma função chamada `quick_sort`.
  • Sua função `quick_sort` deve receber um Ășnico parĂąmetro.
  • `quick_sort([])` deve retornar uma lista vazia.
  • Sua função `quick_sort` nĂŁo deve modificar a lista passada para ela como argumento.
  • `quick_sort([20, 3, 14, 1, 5])` deve retornar `[1, 3, 5, 14, 20]`.
  • `quick_sort([83, 4, 24, 2])` deve retornar `[2, 4, 24, 83]`.
  • `quick_sort([4, 42, 16, 23, 15, 8])` deve retornar `[4, 8, 15, 16, 23, 42]`.
  • `quick_sort([87, 11, 23, 18, 18, 23, 11, 56, 87, 56])` deve retornar `[11, 11, 18, 18, 23, 23, 56, 56, 87, 87]`.
  • VocĂȘ nĂŁo deve importar nenhum mĂłdulo ou usar mĂ©todos de ordenação embutidos no seu cĂłdigo.

Preview