SóProvas


ID
273337
Banca
CESPE / CEBRASPE
Órgão
FUB
Ano
2011
Provas
Disciplina
Algoritmos e Estrutura de Dados
Assuntos

A respeito dos princípios de programação, julgue os seguintes itens.

Os métodos de ordenação podem ser classificados como estáveis ou não estáveis. O método é estável se preserva a ordem relativa de dois valores idênticos. Alguns métodos eficientes como shellsort ou quicksort não são estáveis, enquanto alguns métodos pouco eficientes, como o método da bolha, são estáveis.

Alternativas
Comentários
  • Leia: http://pt.wikipedia.org/wiki/Ordena%C3%A7%C3%A3o_est%C3%A1vel
  • Um algoritmo de ordenação é estável se preserva a ordem de registros de chaves iguais. Ou seja, se tais registros aparecem na sequencia ordenada (resultado da ordenação) na mesma ordem em que estão na sequencia inicial (entrada desordenada).

    Alguns algoritmos estáveis:
    • Bubble
    • Cocktail
    • Insertion
    • Merge
    • Bucket
    • Counting

    Alguns algoritmos instáveis:
    • Selection
    • Quick
    • Heap
    • Shell
  • Decoreba:

     

    - Métodos Estáveis: Bubble, Insertion e Merge; -BIM - "O que for diferente desses são os instáveis"

    - Instáveis: Selection, Quick, Heap e Shell. 

  • Gabarito Certo

    algoritmos estáveis - MIB, homens de preto - merge, insert e bubble sort

    algoritmos instáveis - SSH Q, segurança - select, shell, heap e quick sort

     

     

     

    "Retroceder Nunca Render-se Jamais !"
    Força e Fé !
    Fortuna Audaces Sequitur !

  • Um algoritmo de ordenação é estável (= stable) se não altera a posição relativa dos elementos que têm o mesmo valor. Digamos, por exemplo, que um vetor de números do tipo double é ordenado com base na parte inteira dos números, ignorando a parte fracionária. Se o algoritmo de ordenação for estável, os números que têm a mesma parte inteira continuarão na mesma ordem em que estavam originalmente. Na seguinte figura, a primeira linha mostra o vetor original e a segunda, o vetor ordenado:


    44.0 55.1 55.2 66.0 22.9 11.022.5 33.0

    11.0 22.9 22.5 33.0 44.0 55.1 55.2 66.0 Observe que 22.9 e 22.5 permaneceram na mesma ordem que estavam antes da ordenação, o mesmo para 55.1 e 55.2


    Eis outro exemplo. Digamos que cada elemento do vetor é um struct com dois campos: o primeiro contém o nome de uma pessoa e o segundo contém o ano de nascimento da pessoa. Suponha que o vetor original tem dois João da Silva, primeiro o que nasceu em 1990 e depois o que nasceu em 1995. Se o vetor for ordenado por um algoritmo estável com base no primeiro campo, os dois João da Silva continuarão na mesma ordem relativa: primeiro o de 1990 e depois o de 1995.