Sunteți pe pagina 1din 8

MTODOS EN DELPHI.

UNIVERSIDAD DE CRDOBA

FACULTAD DE CIENCIAS BSICAS

INFORMTICA II

PROGRAMA DE FSICA Y ELECTRNICA

MONTERA

2013

Mtodos de Ordenamiento
Ordenamiento interno. Se lleva a cabo completamente en memoria principal.
Todos los objetos que se ordenan caben en la memoria principal de la
computadora.
Ordenamiento externo. No cabe toda la informacin en memoria principal y es
necesario ocupar memoria secundaria. El ordenamiento ocurre transfiriendo
bloques de informacin a memoria principal en donde se ordena el bloque y
este es regresado, ya ordenado, a memoria secundaria.
Mtodos simples
Mtodo de Burbujeo
Mtodo de Insercin
Mtodo de Seleccin
QuickSort
Dado un arreglo desordenado de n elementos

Selecciona un valor v del arreglo, llamado pivote, y re arregla los elementos del
arreglo de manera que todos los elementos menores que v queden colocados
antes que v y todos los elementos mayores o iguales que v queden colocados
despus que v.

HeapSort
Estructura de datos abstracta
AGREGA, BORRAMIN, VACIA e INICIA

Si las operaciones VACIA e INICIA toman un tiempo O(1) y las operaciones


AGREGA y BORRA_MIN toman un tiempo O(logn), donde n es el nmero de
elementos a ordenar, es claro que el mtodo de ordenamiento anterior tomara
un tiempo O(nlogn)
BinSort:
Operacin de Insercin

Operacin de Concatenacin

Observaciones:
Suponga que se desea ordenar una lista de valores enteros en el rango 0 a
2
n -1. Se utilizan n cubetas, una para cada uno de los enteros 0,1, . . . ,n-1

Dos fases:
Se coloca el entero i al final de la cubeta i mod n.
Se seleccionan los valores en el orden en que estn almacenados en las
cubetas desde la 0 hasta la n-1. El entero ise coloca al final de la cubeta [i/n].

RadixSort
Suponga que se desea ordenar una lista de elementos cuyos valores llave
consisten de k componentes, f1, f2, . . . , fk, cuyos tipos son t1, t2, ..., tk.

Orden lexicogrfico
(a1, a2, ..., ak) es menor que (b1, b2, ..., bk), si sucede solo una de las
condiciones siguientes:
a1 < b1
a1 = b1 y a2 < b2
...
a1 = b1, a2 = b2, ..., ak-1 = bk-1 y ak < bk
As, para algn j entre 0 y k-1, a1 = b1, ..., aj = bj y aj+1 < bj+1.

La idea clave detrs del mtodo es ordenar todos los elementos de acuerdo al
campo fk(el dgito menos significativo ) y luego concatenar las cubetas.
Despus aplicar el mtodo para fk-1y as hasta f1.F
Se debe asegurar que al agregar un elemento a una cubeta se haga siempre al
final.
En general, despus de aplicar el mtodo sobre los campos, fk, fk-1, ..., fI los
elementos aparecern en el orden lexicogrfico si sus llaves consistieran
nicamente de los campos fi, ..., fk

Ejemplo de ordenamiento Burbuja.


procedure TBubbleSort.Sort;
var
J, T: Integer; swapped: boolean;
begin
repeat
swapped:=false;
for J := IMin to IMax - 1 do
if A^[J] > A^[J + 1] then
begin swapped:=true;
VisualSwap(A^[J], A^[J + 1], J, J + 1);
T := A^[J];
A^[J] := A^[J + 1];
A^[J + 1] := T;
end;
until not swapped;
end;
Por seleccin
procedure TSelectionSort.Sort;
var
I, J, T: Integer;
begin
for I := IMin to IMax - 1 do
for J := IMax downto I + 1 do
if A^[I] > A^[J] then
begin
VisualSwap(A^[I], A^[J], I, J);
T := A^[I];
A^[I] := A^[J];
A^[J] := T;
end;
end;
Ordenamiento Rpido
procedure QuickSort(var A: array of Integer;
iLo, iHi: Integer);
var
Lo, Hi, Mid, T: Integer;

begin
Lo := iLo;
Hi := iHi;
Mid := A[(Lo + Hi) div 2];
repeat
while A[Lo] < Mid do Inc(Lo);
while A[Hi] > Mid do Dec(Hi);
if Lo <= Hi then
begin
VisualSwap(A[Lo], A[Hi], Lo, Hi);
T := A[Lo];
A[Lo] := A[Hi];
A[Hi] := T;
Inc(Lo);
Dec(Hi);
end;
until Lo > Hi;
if Hi > iLo then QuickSort(A, iLo, Hi);
if Lo < iHi then QuickSort(A, Lo, iHi);
end;

begin
QuickSort(A^, 0, Imax);
end;
MTODO DE BSQUEDA EN DELPHI.
Un problema muy comn en los sistemas de informacin basados en bases de
datos es el de bsquedas en estos casos el usuario proporciona un dato,
generalmente la clave del registro, para que se localice toda la informacin
pertinente.
Para resolver este problema, solo se ocupa:
a) Una aplicacin construida por rengln, es decir con DBEdit para desplegar el
resultado.
b) Un Edit para almacenar el dato o valor a buscar por parte del usuario.
c) Haber estudiado la ayuda del borland delphi para las propiedades y mtodos
del componente Table.
- Un botn de rdenes (OK) con el siguiente cdigo:
En Delphi se vera as

Los parmetros del mtodo Locate(), son;

Locate (Columna de bsqueda,Dato a buscar , [loCaseInsensitive,


loPartialKey]);
Cuando opcin = loCaseInsensitive ignora diferencia entre maysculas y
minsculas
Cuando opcin = loPartialKey resultado parcial, ejemplo si se busca ju se
posesiona en el primer rengln donde ese campo empiece con ju, ejemplo
Juan, juvenal, etc.

S-ar putea să vă placă și