Arrays são estruturas de dados que armazenam um conjunto de elementos do mesmo tipo indexados. Vectores são arrays unidimensionais que armazenam uma sequência de objetos usando uma variável de índice. Algoritmos de ordenação e pesquisa, como inserção, seleção e bolha, são usados para organizar e localizar elementos em arrays/vectores.
Business growth saw Seeberger needing a
new warehouse. But not just any warehouse.
Blended Cisco® Internet of Everything (IoE)
innovation now feed state-of-the-art storage
and production processes.
Dream Life India - Business PresentationRamesh Kumar
Dream Life India - is from the house of Amity E-Retails Private Ltd. At DLI (Dream Life India), we understand the soul of Indian consumers. Being one of India's emerging retail pioneers with multiple retail formats, we unite a diverse and zealous community of Indian buyers, sellers and businesses. The combined impact on business is intense: Approximately 300 million customers walk into our stores each year and choose products and services supplied by over 30,000 small, medium and large entrepreneurs and manufacturers from across India. This number is eventually set to grow.
Arrays, também muito conhecidos como vetores, são variáveis que servem para guardar vários valores do mesmo tipo de forma uniforme na memória.
Aprenda o que são matrizes e como usar esses arrays (ou vetores) multidimensionais
Business growth saw Seeberger needing a
new warehouse. But not just any warehouse.
Blended Cisco® Internet of Everything (IoE)
innovation now feed state-of-the-art storage
and production processes.
Dream Life India - Business PresentationRamesh Kumar
Dream Life India - is from the house of Amity E-Retails Private Ltd. At DLI (Dream Life India), we understand the soul of Indian consumers. Being one of India's emerging retail pioneers with multiple retail formats, we unite a diverse and zealous community of Indian buyers, sellers and businesses. The combined impact on business is intense: Approximately 300 million customers walk into our stores each year and choose products and services supplied by over 30,000 small, medium and large entrepreneurs and manufacturers from across India. This number is eventually set to grow.
Arrays, também muito conhecidos como vetores, são variáveis que servem para guardar vários valores do mesmo tipo de forma uniforme na memória.
Aprenda o que são matrizes e como usar esses arrays (ou vetores) multidimensionais
1. 3.
3.1
Arrays
(o
nome
mais
aproximado
em
português
é
conjunto de
variáveis, do mesmo tipo, indexadas)
Na linguagem de programação, os arrays podem ser considerados como as
estruturas de dados mais simples.
São variáveis, identificados por um nome, que contêm um conjunto de
elementos do mesmo tipo (e geralmente do mesmo tamanho). Estes são acessíveis
através do respectivo nome e da variável de índice correspondente à sua posição
no array.
Os arrays simplificam a utilização de muitas variáveis do mesmo tipo a
guardar em memória, com designações diferentes, agrupando-as numa só variável.
Entre as suas limitações, a mais notável é o facto de ter um tamanho fixo:
a dimensão é determinada no momento em que é criada, e não pode ser alterada
mais tarde.
Os arrays podem ter mais do que uma dimensão. Os mais utilizados são os
arrays unidimensionais (vectores) e os arrays bidimensionais (matrizes).
3.2
Vectores
Um vector (array unidimensional) é uma estrutura de dados que armazena uma
sequência de objectos, todos do mesmo tipo. Têm uma dimensão, utilizando, por
isso, apenas uma variável de índice para o acesso aos elementos.
Exemplo:
Legenda: o quadro acima apresenta o exemplo do vector nome que guarda, neste
caso, quatro valores, correspondendo a quatro nomes. Para tal, é utilizado um
2. índice (variável n) para aceder a cada um dos elementos do vector (nome[n]).
3.2.1 Operações com vectores
A declaração de vectores é feita na parte declarativa do programa, em
Pascal.
Sintaxe: para declarar um vector é utilizada a palavra Var, seguida do
nome da variável (nome), a seguir o tipo de variável (array) o intervalo dos
seus elementos ou índices ([1..n]) e o tipo de dado dos elementos do vector (of
<tipo de dado>).
Exemplo: é declarada uma variável com o nome km, do tipo array e com o
intervalo de índices de 1 a 10, cujos dados são do tipo real.
Sintaxe das instruções de leitura, de escrita e de atribuição de um vector:
3.2.2 Algoritmos de Ordenação
Os algoritmos de ordenação têm por finalidade organizar sequências de
elementos, do mesmo tipo, por ordem crescente ou decrescente dos seus valores.
Na maioria das vezes, estes algoritmos são criados para serem aplicados aos
elementos de um array, uma vez que, como já foi dito, este tipo de dados permite
guardar, numa mesma variável, um conjunto de elementos do mesmo tipo.
Existem inúmeros algoritmos de ordenação com maior ou menor grau de
dificuldade de implementação, de utilização da memória, entre outros aspectos.
Neste trabalho, vamos abordar os algoritmos de ordenação por: inserção
(Insertion Sort), selecção (Selection Sort) e bolha (Bubble Sort).
O algoritmo de ordenação por inserção (Insertion Sort) assemelha-se ao
processo de organização das cartas existentes na mão de um jogador.
Permite
ordenar os elementos de um vector, percorrendo-os da esquerda para a direita,
comparando-os dois a dois. Numa ordenação crescente, sempre que o elemento da
direita for menor que o anterior, irá,
por comparações sucessivas, ser
posicionado mais à esquerda na ordem correcta.
3. O algoritmo de ordenação por selecção (Selection Sort) permite ordenar os
elementos de um vector, realizando passagens sucessivas nos elementos, para
identificar o valor mínimo ou
máximo em cada uma delas.
O algoritmo de ordenação por bolha (Bubble Sort) permite ordenar os
elementos de um vector, percorrendo os seus valores da direita para a esquerda,
comparando-os com os das posições adjacentes. Neste processo de ordenação, é
sempre encontrado o valor mais baixo em cada passagem e colocado na posição mais
à esquerda possível de forma ordenada. Esta ordenação é obtida por comparação
dois a dois entre elementos adjacentes, ainda não ordenados, efectuando permutas
de posição sucessivas sempre que o valor da direita for menor que o da esquerda.
4. 3.2.3 Algoritmos de pesquisa
Os algoritmos de pesquisa permitem determinar se um elemento existe num
vector e, caso exista, podem indicar a posição deste. Este tipo de algoritmos
pode ser aplicado em vectores desordenados ou ordenados e com elementos
repetidos (ou não).
Quando se aplica a um vector com elementos repetidos, pode-se efectuar a
pesquisa de forma a obter apenas a posição do primeiro elemento, apenas a
posição do último elemento ou a todas as posições em que o elemento repetido se
encontra. De seguida, abordam-se os algoritmos de pesquisa sequencial e de
pesquisa binária.
O algoritmo de pesquisa sequencial percorre todos os elementos de um
vector (da esquerda para a direita ou da direita para a esquerda). Esta pesquisa
termina quando se encontra o elemento ou, caso contrário, percorre todos os
elementos do vector.
O algoritmo de pesquisa binária permite efectuar a pesquisa de um elemento
nos elementos de um vector com ou sem elementos repetidos, obrigatoriamente
ordenados.
Neste processo de pesquisa são efectuadas divisões inteiras sucessivas por
dois (pesquisa binária) no número de elementos do vector, encontrando-se, desta
forma, a posição do elemento do meio. Este elemento vai ser comparado com o
elemento a pesquisar. Considerando que o vector está ordenado por ordem
crescente, dará origem a uma de três situações:
1. se o elemento do meio for igual ao elemento a procurar, a pesquisa
termina;
2. se o elemento do meio for menor que o elemento a procurar, a
pesquisa continua, repetindo-se o processo nos elementos da metade
direita do vector;
3. em último caso, se o elemento do meio for maior que o elemento a
procurar, a pesquisa continua, repetindo-se o processo nos elementos
da metade esquerda do vector.
5. Bibliografia
FONSECA, Dalila; PACHECO, Deolinda; MARQUES, Fernando; SOARES, Ricardo.
Aplicações Informáticas B 12º Ano. 1ª edição. Porto: Porto Editora, 2013;
http://pt.wikipedia.org/wiki/Array;
http://www.inf.unibz.it/~calvanese/teaching/ip/lecturenotes/uni12/node2.html;
http://www.ime.usp.br/~pf/algoritmos/aulas/array.html;
http://www.dicasdeprogramacao.com.br/o-que-sao-vetores-e-matrizes-arrays/;
http://www.cise.ufl.edu/~mssz/DatStrucAlg/DSAintro.html;
http://www.arnerobotics.com.br/eletronica/metodos_pesquisa_ordenacao.htm.