From 70c19782c1a2732cb5e60a41b83112fba4e5eb26 Mon Sep 17 00:00:00 2001 From: Abreu Date: Wed, 17 Nov 2021 17:04:53 -0300 Subject: [PATCH] Deleted a standed file --- .../EP 1/Resolução EP1 - IAA.md | 4 ++-- .../EP 1/merge_sort.c | 22 ------------------- 2 files changed, 2 insertions(+), 24 deletions(-) delete mode 100644 Introdução à Análise de Algoritmos/EP 1/merge_sort.c diff --git a/Introdução à Análise de Algoritmos/EP 1/Resolução EP1 - IAA.md b/Introdução à Análise de Algoritmos/EP 1/Resolução EP1 - IAA.md index 9ef3d3e..1de0330 100644 --- a/Introdução à Análise de Algoritmos/EP 1/Resolução EP1 - IAA.md +++ b/Introdução à Análise de Algoritmos/EP 1/Resolução EP1 - IAA.md @@ -8,7 +8,7 @@ ## Introdução -O *Problema da Seleção* no contexto desta análise refere-se a necessidade de, para uma sequência de elementos $x_a, \dots, x_i, \dots, x_b$ onde $a \le i \le b$, sendo $a$ e $b$ sendo os índices inicial e final respectivamente, acessar o $i$-esimo elemento $x_i$ de acordo com um dado parâmetro. Iremos aqui admitir que $\forall x \in \Z$ e utilizaremos como critério o valor de $x$ de maneira a selecionar o $i$-esimo elemento de menor valor. Vamos abordar este problema de duas formas: +O *Problema da Seleção* no contexto desta análise refere-se a necessidade de, para uma sequência de elementos $x_a, \dots, x_i, \dots, x_b$ onde $a \le i \le b$, sendo $a$ e $b$ sendo os índices inicial e final respectivamente, acessar o $i$-esimo elemento $x_i$ de acordo com um dado parâmetro. Trata-se de um problema comumente observado nas situações aquelas em que se busca obter medidas de posição tais quais a mediana ou os quartis, para citar uma aplicação no âmbito da estatística. Para demonstrar a resolução deste, iremos aqui admitir que $\forall x \in \Z$ e utilizaremos como critério o valor de $x$ de maneira a selecionar o $i$-esimo elemento de menor valor. Vamos abordar este problema de duas formas: Na primeira solução (solução `mergeSelect`) ordenaremos o conjunto de elementos em ordem crescente para, em seguida, acessar $a_i$ diretamente. @@ -28,7 +28,7 @@ Conceitualmente, seu funcionamento se dá da seguinte maneira: 3. resta apenas a lista original ordenada. A partir de então, para encontrar o $i$-ésimo menor elemento, basta referenciar o arranjo pelo índice $i$: `A[i]`. - + > Diagrama ilustrando os passos para execução do *Merge Sort* em uma sequência de 7 números inteiros.[^2] diff --git a/Introdução à Análise de Algoritmos/EP 1/merge_sort.c b/Introdução à Análise de Algoritmos/EP 1/merge_sort.c deleted file mode 100644 index f03508a..0000000 --- a/Introdução à Análise de Algoritmos/EP 1/merge_sort.c +++ /dev/null @@ -1,22 +0,0 @@ -#define array int* - -void merge (array A, int pivot, int size) { - int i, k, j = pivot, tmp[size]; - - for (i = k = 0; k < size; k++) - tmp[k] = ((A[i] <= A[j] && i < pivot) || j == size) ? - A[i++] : A[j++]; - for (k = 0; k < size; k++) - A[k] = tmp[k]; -} - -void mergeSort (array A, int size) { - int pivot; - - if (size <= 1) - return; - pivot = size / 2; - mergeSort(A, pivot); - mergeSort(A + pivot, size - pivot); - merge(A, pivot, size); -}