As estruturas de dados são formas de distribuir e relacionar os dados disponíveis, de modo a tornar mais eficientes os algoritmos que manipulam esses dados.
Uma pilha estabelece uma política de entrada e saída LIFO (last in, first out), o último elemento a entrar é o primeiro a sair.
Filas(Queues):
Uma fila (Queue) estabelece uma política de entrada e saída FIFO (first in, first out), ou seja, o primeiro elemento a entrar na lista é o primeiro a sair.
haverá situações em que você precisará mudar este comportamento e dar prioridade a um determinado elemento para que ele “fure a fila”. Para isso existe a fila de prioridades (Priority Queue).
se a posição atual for maior que a posição posterior, é realizada a troca dos valores nessa posição.
Caso contrário, não é realizada a troca, apenas passa-se para o próximo par de comparações.
Selection Sort:
A cada iteração, procura em toda a parcela não ordenada do vetor pelo menor (ou maior) elemento e o coloca na posição correta.
Insertion Sort:
Itera-se crescentemente entre as posições. Para cada posição, pega seu elemento e regride-o no vetor até encaixá-lo na posição correta (quando encontrar o primeiro elemento menor que ele).
Tanto o Bubble quanto o Selection possuem complexidade O(n²) em todos os casos. O Insertion, por outro lado, roda em O(n) no melhor caso (como por exemplo, se o vetor já estiver em ordem crescente).
Estrutura de Dados:
As estruturas de dados são formas de distribuir e relacionar os dados disponíveis, de modo a tornar mais
eficientes
os algoritmos que manipulam esses dados.15 Sorting Algorithms in 6 Minutes
Lista:
Uma lista é uma série de elementos ligados.
Pilhas(Stacks):
Uma pilha estabelece uma política de entrada e saída LIFO (last in, first out),
o último elemento a entrar é o primeiro a sair
.Filas(Queues):
Uma fila (Queue) estabelece uma política de entrada e saída FIFO (first in, first out), ou seja,
o primeiro elemento a entrar na lista é o primeiro a sair
.haverá situações em que você precisará mudar este comportamento e dar prioridade a um determinado elemento para que ele “fure a fila”. Para isso existe a fila de prioridades (Priority Queue).
Hash Map:
python
Big O:
Bubble Sort:
se a posição atual for maior que a posição posterior, é realizada a troca dos valores nessa posição. Caso contrário, não é realizada a troca, apenas passa-se para o próximo par de comparações.
Selection Sort:
A cada iteração, procura em toda a parcela não ordenada do vetor pelo menor (ou maior) elemento e o coloca na posição correta.
Insertion Sort:
Itera-se crescentemente entre as posições. Para cada posição, pega seu elemento e regride-o no vetor até encaixá-lo na posição correta (quando encontrar o primeiro elemento menor que ele).
Tanto o Bubble quanto o Selection possuem complexidade O(n²) em todos os casos. O Insertion, por outro lado, roda em O(n) no melhor caso (como por exemplo, se o vetor já estiver em ordem crescente).
Referencia: