Professional Documents
Culture Documents
INF-111
2da Gua de Ejercicios
Ejercicios de Vectores, Matrices y Mtodos de
Ordenacin
Tambin puedes encontrar esta prctica en...
http://es.todo111.wikia.com/wiki/Ejercicios_para_el_Segundo_Parcial
Autores:
Mauricio Alarcn
r00t Garca
D'jalmar Gutierrez
Arun Limachi
Agradecimientos especiales a:
Jhtan Castro
5 de mayo de 2014
ndice
1. Vectores y Matrices
1.1.
1.1.1.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1.2.
1.1.3.
1.1.4.
1.1.5.
1.1.6.
1.1.7.
1.1.8.
La Diagonal (2pts)
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1.9.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . .
5
5
1.2.1.
. . . . . . . . . . . . . . . . . . . . . . . . .
1.2.2.
. . . . . . . . . . . . . . . . . . . . . . . . . .
1.2.3.
. . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2.4.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2.5.
1.2.6.
. . . . . . . . . . . . . . . . . . . . . . .
10
1.2.7.
10
1.2.8.
. . . . . . . . . . . . . . . . . . .
10
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10
1.2.9.
10
Dibujando en Matrices
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11
1.3.1.
X (1pt)
1.3.2.
Y (2pts) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11
1.3.3.
12
12
1.3.4.
1.3.5.
. . . . . . . . . . . . . . . . . . . . . . . . . .
1.3.6.
Espiral (5pts)
1.3.7.
Gusano (5pts) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14
1.3.8.
14
1.3.9.
Diamantes (5pts)
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16
. . . . . . . . . . . . . . . . . . . . . . . . .
13
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13
17
Razonamiento y Lgica
18
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.4.1.
El Telefrico (10pts)
1.4.2.
OVNI (10pts)
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.4.3.
1.4.4.
1.4.5.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
18
19
20
. . . . . . . . . . . . . . . . . . . .
21
. . . . . . . . . . . . . . . . . . . . . . . . . .
22
1.4.6.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2. Mtodos de Ordenacin
2.1.
23
26
26
2.1.1.
26
2.1.2.
2.1.3.
2.1.4.
2.1.5.
. . . . . . . . . . . . . . . . . . . . . . .
26
2.1.6.
Desventajas... (10pts) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
26
2.1.7.
El mejor (10pts) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
26
2.1.8.
26
2.1.9.
27
27
. . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . .
3. Apndice
26
26
26
27
3.1.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
27
3.2.
28
3.3.
29
README.txt
Esta es la 2da parte, y contiene las secciones: 3.Vectores y Matrices y 4.Mtodos de Ordenacin.
Los ejercicios l33t h4x0r, que pretendan ser una seccin extra, estn fuscionados con la primera seccin
por falta de tiempo.
La 1ra parte de esta prctica est disponible en la fotocopiadora de estadstica y del CEFAC, y
contiene las instrucciones para resolver la prctica, es recomendable leer esas instrucciones antes de
comenzar a resolver, de lo contrario trabajars de ms, en vano.
H4PPY C0D1N6
1.
Vectores y Matrices
1.1.
1.1.1.
Haz un mdulo que lea varios nmeros, los almacene en un vector, y responda el vector que contiene
los
nmeros.
Se te dar un nmero
tamao
1.1.2.
n,
n,
seguido de
nmeros en un vector de
y devolverlo.
1.1.3.
Haz un mdulo que lea varios nmeros, los almacene en un vector, y responda el vector que contiene
los
nmeros.
Se te dar un nmero
1.1.4.
m que indica
n m nmeros
nxm,
nm
y devolverla.
1.1.5.
X,
EJEMPLO:
PARAMETRO
{1 , 5 , 3 , 7 , 8 , 3 , 7 , 3 , 9 , 0 , 1 , 6 , 5}
RESPUESTA
{1 , 5 , 3 , 7 , 8 , 9 , 0 , 6}
X,
pero
1.1.6.
Y , devuelva
X y Y.
un nuevo vector
PARAMETROS
X = {1 , 2 , 3 , 3 , 3 , 4 , 5 , 6 , 6 , 7}
Y = {1 , 2 , 3 , 9 , 0}
RESPUESTA
Z = {1 , 2 , 3 , 4 , 5 , 6 , 7 , 9 , 0}
Cacera de ndices (3pts)
1.1.7.
que es igual a
y un nmero
a,
a.
INPUT
X = {3 , 6 , 2 , 6 , 1 , 4}; a = 6
OUTPUT
1
La Diagonal (2pts)
1.1.8.
M,
M.
devuelva un vector
Z,
La diagonal principal de una matriz, son todos aquellos elementos que estn dentro de la gran
diagonal que comienza en la esquina superior izquierda de la matriz, y termina en la esquina inferior
derecha.
EJEMPLO:
PARAMETROS
M = {{1 , 4 ,
{6 , 3 ,
{4 , 7 ,
{0 , 0 ,
{1 , 3 ,
5,
7,
7,
7,
6,
8,
9,
4,
0,
3,
3} ,
5} ,
8} ,
5} ,
2}}
RESPUESTA
Z = {1 , 3 , 7 , 0 , 2}
1.1.9.
de la matriz.
PARAMETROS
M = {{1 , 4 ,
{6 , 3 ,
{4 , 7 ,
{0 , 0 ,
{1 , 3 ,
3
5,
7,
7,
7,
6,
8,
9,
4,
0,
3,
3} ,
5} ,
8} ,
5} ,
2}}
RESPUESTA
Z = {0 , 0 , 7 , 0 , 5}
1.1.10.
X
V.
del vector
de tamao
n 1,
EJEMPLO:
PARAMETROS
V = {1 , 4 , 7 , 3 , 7 , 3 , 2 , 5 , 3 , 7 , 0}
i = 4
RESPUESTA
X = {1 , 4 , 7 , 3 , 3 , 2 , 5 , 3 , 7 , 0}
1.1.11.
de la matriz
de tamao
M.
EJEMPLO:
nxm,
seguida de un ndice
i,
elimine la la
PARAMETROS
M = {{1 , 3 ,
{4 , 2 ,
{1 , 6 ,
{4 , 3 ,
0
7,
9,
3,
8,
3,
2,
7,
2,
0} ,
9}.
2} ,
1}} ;
RESPUESTA
M = {{4 , 2 , 9 , 2 , 9}.
{1 , 6 , 3 , 7 , 2} ,
{4 , 3 , 8 , 2 , 1}}
1.1.12.
V,
Dado un vector
un ndice
y un nmero
n,
insertar el nmero
en el ndice
del vector, y
EJEMPLO:
PARAMETROS
V = {1 , 0 , 5 , 9 , 4 , 9 , 8}
i = 2
n = 99
RESPUESTA
V = {1 , 0 , 99 , 5 , 9 , 4 , 9 , 8}
1.1.13.
EJEMPLO:
PARAMETROS
M = {{1 , 6 , 4 , 8} ,
{5 , 7 , 9 , 0} ,
{3 , 6 , 4 , 2}}
i = 1
V = {8 , 8 , 8 , 8}
RESPUESTA
X = {{1 , 6 ,
{8 , 8 ,
{5 , 7 ,
{3 , 6 ,
4,
8,
9,
4,
8} ,
8} ,
0} ,
2}}
de tamao
m,
insertar el vector
1.1.14.
C++, Java, y muchos otros lenguajes de programacin ms, tienen en sus libreras estndar una
librera que permite crear vectores de tamao dinmico, es decir, el tamao puede cambiar a medida
que se vaya necesitando ms espacio.
Para conseguir esto, hay que hacer uso de un mtodo conocido como relocalizacin de datos.
Consiste en lo siguiente:
Se declara el vector con un tamao jo.
Se va llenando el vector con datos.
Cuando ya no hay espacio para ms datos, el vector con el que se est trabajando se destruye,
pero antes de ser destruido, todos sus datos son copiados a un nuevo vector, cuyo tamao es el
cuadrado del tamao del vector antiguo.
Se repiten los pasos 2 y 3 cuantas veces sea necesario.
Haz un algoritmo que, dado un vector
Es evidente que solo las primeras
n2 n
1.2.
posiciones de
intactas.
En esta seccin encontrars ejercicios sencillos que se pueden resolver utilizando matrices y vectores.
No est destinada para que pienses mucho, la solucin es sencilla, solamente para que te familiarices
con el uso de los vectores y las matrices.
1.2.1.
n,
EJEMPLO
INPUT
50
OUTPUT
CRIBA = {F ,
V,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
V,
F,
F,
F,
V,
F,
V,
F,
V,
V,
F,
V,
F,
F,
F,
V,
F,
V,
V,
F,
V,
F,
V,
F,
F,
F,
V,
F,
F,
F,
F,
V,
F,
V,
F,
F,
F,
F}
n.
1.2.2.
S, el algoritmo que conoces para encontrar nmeros bonaccis tambin es uno de los ms lentos.
Haz un algoritmo que genere un vector de tamao
de forma rpida.
por qu el mtodo tradicional es lento? Porque al hacer esto:
a = b
b = f
f = a + b
hacemos, por cada nmero en la serie bonacci, 3 operaciones: asignar el valor de
a;
asignar el valor de
a la variable
En cambio, en un vector:
y asignar el valor de
fi = V [i 1] + V [i 2],
a+b
a la variablee
f.
1.2.3.
El algoritmo que hiciste para el ejercicio anterior (y tambin el bonacci?) es ms rpido pero
ocupa ms memoria. En tu opinin, cul algoritmo es mejor? el tradicional? o el que utiliza vectores?
1.2.4.
Te dan un vector
de tamao
106
106 .
valores representan dinero, y que t puedes decidir si tomar o no el valor de cualquier ndice
i.
Cul
EJEMPLO
PARAMETROS
V = {0 , 34 , -5 , 100 , -1000 , -1 , 3}
n
1.2.5.
RESPUESTA
137
y dos nmeros
i<n
j < n.
1.2.6.
Mi,j
M,
y que termina en
i, j , k
l,
Mk,l ?
1.2.7.
Dado un vector
de tamao
1.2.8.
M cuadrada, de tamao nxn, cuyos nmeros oscilan entre 106 y 106 , encuentra
los 4 nmeros i, j, k, l, tal que la suma de todos los elementos de la submatriz que comienza en Mi,j
y termina en Mk,l , es ms grande que la suma de cualquier otra submatriz.
Dada una matriz
1.2.9.
Dado un vector
vector
X,
de tamao
1 n 1000,
100,
devolver otro
V.
EJEMPLO
PARAMETROS
V = {3 , 6 , 8 , 7 , 9 , 13 , 7 , 15 , 6}
RESPUESTA
X = {3 , 7 , 13 , 7}
1.2.10.
b,
[a, b]?
1.3.
Dibujando en Matrices
Muchos de los ejercicios (si no son todos) que te plantearn en clases consisten en dibujar patrones
en una matriz. La siguiente seccin contiene ejercicios en los que debers dibujar matrices con patrones.
10
X (1pt)
1.3.1.
n,
dibujada en su centro.
EJEMPLO
INPUT
5
6
OUTPUT
1 0 0 0
0 1 0 1
0 0 1 0
0 1 0 1
1 0 0 0
1
0
0
0
1
1
0
0
0
0
1
0
1
0
0
1
0
0
1
0
0
1
0
0
0
1
1
0
0
0
0
1
1
0
0
1
0
0
0
0
1
Y (2pts)
1.3.2.
Dado un nmero
n,
medio.
EJEMPLO
INPUT
5
6
OUTPUT
1 0 0 0
0 1 0 1
0 0 1 0
0 0 1 0
0 0 1 0
1
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
1
1
1
1
0
0
1
1
1
1
1
0
0
0
0
0
11
n n,
1.3.3.
Dado un nmero
de tamao
EJEMPLO
INPUT
5 7
OUTPUT
O X O X
X O X O
O X O X
X O X O
O X O X
1.3.4.
O
X
O
X
O
X
O
X
O
X
O
X
O
X
O
n,
EJEMPLO
INPUT
8
OUTPUT
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 1
0 0 1 0
0 1 0 7
1 0 8 0
0 0 0 0 1 0 0 0 0 0 0 0 0
0 0 0 1 0 1 0 0 0 0 0 0 0
0 0 1 0 2 0 1 0 0 0 0 0 0
0 1 0 3 0 3 0 1 0 0 0 0 0
1 0 4 0 6 0 4 0 1 0 0 0 0
0 5 0 10 0 10 0 5 0 1 0 0 0
6 0 15 0 20 0 15 0 6 0 1 0 0
0 21 0 35 0 35 0 21 0 7 0 1 0
28 0 56 0 70 0 56 0 28 0 8 0 1
12
niveles.
3.2.
1.3.5.
y otro nmero
m,
nm
hecha de caracteres, que contenga rectngulos concntricos, alternando los caracteres X y O entre
rectngulos vecinos.
EJEMPLO:
INPUT
10 , 5
OTPUT
X X X
X O O
X O X
X O O
X X X
1.3.6.
X
O
X
O
X
X
O
X
O
X
X
O
X
O
X
X
O
X
O
X
X
O
X
O
X
X
O
O
O
X
X
X
X
X
X
Espiral (5pts)
m,
nmeros naturales.
EJEMPLO:
INPUT
4, 5
OUTPUT
1 2 3
14 15 16
13 20 17
12 19 18
11 10 9
4
5
6
7
8
13
n m,
con la secuencia de
1.3.7.
Gusano (5pts)
n y otro nmero m,
n m.
EJEMPLO
INPUT
4 5
OUTPUT
1 2 3
8 7 6
9 10 11
16 15 14
17 18 19
1.3.8.
4
5
12
13
20
de
y m, dibuje
n m.
Para dibujar el gusano inclinado dentro de la matriz, debes poner los nmeros de la secuencia de
nmeros naturales, en la matriz
M,
14
EJEMPLO
INPUT
4 5
OUTPUT
1 2 6
3 5 8
4 9 13
10 12 16
11 17 18
7
14
15
19
20
Diamantes (5pts)
1.3.9.
Dado un nmero
n,
de tamao
n n.
El diamante debe estar formado por el caracter X, y los espacios en blanco, con caracteres O.
INPUT
5
6
OUTPUT
O O X O
O X X X
X X X X
O X X X
O O X O
O
O
X
O
O
O
O
X
X
O
O
O
X
X
X
X
O
O
X
X
X
X
O
X
X
X
X
X
X
X
X
X
X
X
X
O
O
X
X
O
O
NOTA: En caso de que el nmero sea par, los picos del diamante, deberan ser dos Xs.
15
1.3.10.
Triforce (30pts)
1
Jugaste Zelda? Link (el personaje principal) est en bsqueda de la mstica Trifuerza.
Una trifuerza son tres tringulos equilteros del mismo tamao, repartidos de tal forma que, forman
un trangulo invertido en el centro (como se muestra en la imagen).
n,
caracteres. Utiliza la X para dibujar los tringulos, y la O para representar
espacios vacos.
EJEMPLO:
INPUT
3
5
OUTPUT
O O O O
O O O O
O O O X
O O X O
O X X X
X X X X
O
X
X
O
O
X
X
X
X
O
O
O
O
X
X
O
O
X
O
O
X
O
X
X
O
O
O
X
X
X
O
O
O
O
X
X
O
O
O
O
O
X
OJO: los tres tringulos formados con las Xs, tienen una altura de 3 las.
1 newfags can't...
2 Ten el
para buscar la
Valor
16
1.3.11.
Ocurri un accidente nuclear en una ciudad cuadrada! tenan garrafas de uranio en ciertos lugares
de la ciudad, y accidentalmente todas estallaron al mismo tiempo...
El equipo de bomberos ha decidido representar la ciudad como una matriz cuadrada, y tiene en su
base de datos
n tricas de nmeros, que representan las coordenadas donde haba una garrafa de uranio,
El equipo de bomberos necesita saber qu lugares de la ciudad estn irradiados . Para ello, te han
enviado documentos ultrasecretos en los que te explican cmo funciona la radiacin que despide una
garrafa de uranio al estallar:
La radiacin que queda luego de estallar una garrafa con
de
2n + 1
uranio.
Imagina que la ciudad mide
centro (en
C2,2
55
C,
justo en el
haba una garrafa de uranio que pesaba 1 kilo. La zona irradiada, se representa con
O
O
O
O
O
O
O
X
O
O
O
X
X
X
O
O
O
X
O
O
O
O
O
O
O
n,
l,
seguido de
en la que se encontraba la garrafa, y la cantidad de uranio (en kilogramos) que haba en la garrafa.
Debes imprimir un mapa de los lugares irradiados en la ciudad. El mapa consiste en una matriz
de tamao
l l,
que contengan una X son zonas irradiadas, y los cuadritos que contengan una O, representan zonas
no afectadas.
17
EJEMPLO
10
4
0 0
9 9
5 5
7 4
X
X
X
X
X
X
X
O
O
O
1.4.
5
2
2
3
X
X
X
X
X
O
O
O
O
O
X
X
X
X
X
X
O
O
O
O
X
X
X
O
O
X
O
O
O
O
X
X
O
O
X
X
X
O
O
O
X
O
O
X
X
X
X
X
O
O
O
O
X
X
X
X
X
O
O
O
O
X
X
X
X
X
X
X
O
X
O
O
X
X
X
X
X
O
X
X
O
O
O
X
X
X
O
X
X
X
Razonamiento y Lgica
Esta seccin consiste en ejercicios que te harn pensar. Todos se resuelven utilizando vectores o
matrices. Aqu encontrars los primeros problemas l33t h4x0r!
ADVERTENCIA: Algunos de estos ejercicios
podran
1.4.1.
El Telefrico (10pts)
Se te dar un vector
de tamao
18
V,
representa la
i < n,
Vi
Vi+1
es siempre
la misma.
NOTA2: La respuesta al ejemplo del grco es: desde 1 hasta 6. Porque es el telefrico ms largo
(en extensin en eje x) que se puede formar
1.4.2.
OVNI (10pts)
Con el mismo mtodo que se utiliz en el problema 1.4.1, un extraterrestre te dar un vector
tamao
n,
de
T,
quiere aterrizar.
Debes indicarle al extraterrestre en qu punto del terreno puede aterrizar, indicndole el ndice del
vector terreno
pueda aterrizar.
Ten en cuenta que el ovni puede aterrizar en un lugar, si y solo si, la gura que forma la supercie
inferior de su nave encaja a la perfeccin con la supercie en la que se posar. (como en la imagen).
19
i < n,
Vi
Vi+1
es siempre
la misma.
1.4.3.
Harris Pilton est a dieta porque quiere participar en el concurso de belleza Las Anorxicas ms
Esbeltas de Azeroth. Para participar en este concurso, el requisito principal, es pesar menos de
n gramos.
A Harris Pilton le encantan los chocolates! pero cada vez que come un chocolate, su peso aumenta
la misma cantidad que el peso del chocolate. Su novio, Arthas le ha regalado una cajita de chocolates.
Harris Pilton quiere comer la mayor cantidad de chocolates posibles, pero que an pueda participar
en Las Anorxicas ms Esbeltas de Azeroth. Como nunca fue buena en matemtica ni en razonamiento,
no sabe qu chocolates comer, as que te ha pedido ayuda a t, con la promesa de que, si la ayudas, te
regalar un [agujero portable] ([Portable Hole])!
Le ayudas?
Se te dar un vector
V,
donde
Debes mostrar una serie de nmeros, que indican la posicin en la cajita de los chocolates que
Harris Pilton va a comer. Ten en cuenta que el peso de Harris Pilton, despus de comer los chocolates,
no debe exceder
gramos.
EJEMPLO
20
PARAMETROS
indice : 0 1 2 3 4 5 6 7 8 9 10 11
V =
{1 10 4 3 7 1 5 3 2 7 3 1}
n = 100
p = 90
RESPUESTA
0 5 11 8 7
NOTA: el orden en el que muestres la posicin de los chocolates es irrelevante
1.4.4.
21
de
nm
cunto dinero va a ganar si siembra una semilla en ese lugar ADVERTENCIA: el nmero puede ser
negativo, es decir, el cientco puede perder dinero al sembrar una semilla en esa posicin!.
El cientco quiere saber cul es la cantidad mxima de dinero que puede ganar, si decide utilizar
ese terreno para sembrar sus semillas. le ayudas?
Se te dar un nmero
matriz
T,
y otro nmero
m,
respectivamente.
A continuacin, se te darn
M.
EJEMPLO
INPUT
5 7
2 5 6 7 5 4 7
1 2 7 0 8 6 -1
3 87 -3 4 -4 7 10
-87 1 3 65 3 7 2
-1 -3 -6 -8 -5 -3 1
OUTPUT
114
1.4.5.
Mi amigo es muy superticioso, y cree que pisar las rallas del piso es mala suerte.
Me dijo que ha registrado en un vector el largo de las baldozas que hay desde mi casa hasta su casa,
as que, si le digo cul es la longitud de mi paso, l me va a decir cuntas rayas he pisado solo por ir a
visitarlo.
l cree que, dicindome esto, har que yo recapacite y deje de pisar las rallas del piso tan despreocupadamente.
Yo no creo en esas superticiones, pero me intriga saber cmo hizo un algoritmo capaz de encontrar
tal respuesta... puedes hacer un algoritmo que haga lo mismo?
Se te dar un nmero
que indica
EJEMPLO
22
PARAMETROS
p = 2
n = 7
2 4 1 2 1 1 1
RESPUESTA
3
1.4.6.
La persona
habitualmente habla. Todas estas personas, a su vez, se lo contarn a todas las personas con las que
suelen hablar.
Hay una persona
que no tiene que enterarse! pero con toda esa maraa de conexiones sociales, es
b?
Cada persona est identicada por un caracter. Una cadena de texto, representa lo siguiente:
23
suele hablar.
Se te dar un nmero
darn
n,
a,
personas.
b.
EJEMPLO
INPUT :
6
adb
bcfe
cb
daf
eb
a
c
OUTPUT :
OH NOES !
en el ejemplo anterior, 'a' comienza el chisme, luego, 'a' le dice a 'b' y a 'd', y 'b' le dice a 'c', que
es la persona que no debera enterarse del chisme.
OTRO EJEMPLO
24
INPUT :
6
abd
bade
ce
dabf
ebc
fd
a
c
OUTPUT
OH NOES !
En el ejemplo anterior, 'a' le dice a 'b', y 'b' le dice a 'a', y 'a' le dice a 'b' (...)
LTIMO EJEMPLO
INPUT
6
abd
ba
cef
da
efc
fec
a
c
OUTPUT
KTHXBYE !
No hay forma de que 'c' se entere del chisme.
4 looping forever and ever? cuidado con los ciclos innitos, necesitas llevar un registro de las conversaciones que ya
haz considerado para no enciclarte ;D
25
2.
Mtodos de Ordenacin
2.1.
En esta seccin, demostrars que entiendes los mtodos de ordenacin ms sencillos de entender.
2.1.1.
2.1.2.
Dado un vector
V,
de
mtodo burbuja.
2.1.3.
2.1.4.
2.1.5.
Dado un vector
2.1.6.
V,
con
Desventajas... (10pts)
2.1.7.
El mejor (10pts)
2.1.8.
Por qu?
26
2.1.9.
de
ordenacin.
2.1.10.
3.
C,
C,
D,
pero ordenados.
Apndice
3.1.
Cmo encuentras nmeros primos? tomas un nmero y vericas, uno a uno, si el nmero es divisible
entre cualquier otro nmero que no sea l mismo o uno.
Esta forma de encontrar primos es una de las ms inecientes de encontrar primos. Existe una forma
mejor, mediante la criba de Eraststenes, en este mtodo, en vez de enfocarnos en un solo nmero,
encontramos todos los primos dentro de un rango.
Sin embargo, para recordar todos estos primos, necesitamos guardarlos en algn lugar: un vector.
As que la criba de Eraststenes se guarda en un vector de booleanos, en el que, si el lugar con el
ndice
nmero
es falso, entonces el
es falso.
Construyendo la criba
Inicializas el vector de booleanos a un tamao
(E[1]
= f alse),
n+1
i:
0 1 2 3 4 5 6 7 8 9 10 11 12 13
E = {F , F , V , V , V , V , V , V , V , V , V , V , V , V }
Comienzas con el 2, no lo tachas pero tachas a todos sus mltiplos (4, 6, 8, ...) hasta que se acabe
el vector.
i:
0 1 2 3 4 5 6 7 8 9 10 11 12 13
E = {F , F , V , V , F , V , F , V , F , V , F , V , F , V }
Partiendo del 2, buscas al siguiente nmero que no est tachado (ser el 3). No tachas al 3, pero
tachas a todos sus mltiplos
i:
0 1 2 3 4 5 6 7 8 9 10 11 12 13
E = {F , F , V , V , F , V , F , V , F , F , F , V , F , V }
27
Partiendo del 3, buscas al siguiente nmero que no est tachado (ser el 5). No tachas al 5, pero
tachas a todos sus mltiplos.
i:
0 1 2 3 4 5 6 7 8 9 10 11 12 13
E = {F , F , V , V , F , V , F , V , F , F , F , V , F , V }
Si te das cuenta, al enfocarnos en el 5 ya no tachamos nada. La raz cuadrada de 13 es aproximadamente 3. Y est demostrado que, despus del 3, al seguir repitiendo el procedimiento, ningn nmero
tachar nada.
En este punto, en el vector booleano, todos los ndices de
es primo
de tamao
n.
x,
x
3.2.
en vez de
desde el paso 4.
0
1
La siguiente lnea se genera de la siguiente forma: el 1er y ltimo nmero son unos. El 2do nmero,
se genera sumando a los dos nmeros que estn arriba de l:
0
1
2
1
2
0
1
2
3
4
1
4
1
3
1
2
6
1
3
1
4
28
3.3.
En la 1ra parte de la gua de ejercicios, faltaba una porcin de cdigo en la que se muestre cmo
ordenar los caracteres de una cadena de texto en Java utilizando la librera estndar.
He aqu el cdigo prometido... el poder est en tus manos! salo con prudencia... y no olvides que
es muy importante entender cmo funcionan los mtodos de ordenacin, porque habrn problemas ms
complicados, que requerirn que t entiendas estos principios!
29