Article View: es.comp.os.linux.programacion
Article #9790Re: Ayuda con algoritmo
From: Enrique Arizón Benito
Date: Sun, 19 May 2002 09:37
Date: Sun, 19 May 2002 09:37
68 lines
2663 bytes
2663 bytes
"Victor" <vaguayos@editoraperu.com.pe> wrote in message news:<TkQC8.117719$O6.251360@telenews.teleline.es>...
> Hola amigos estoy haciendo mis pininos en programacion y en el curso de
> algoritmos me han dejado que haga un arbol de valores como este
>
> 1
> 121
> 1331
> 14641
> 15101051
> 1615201561
>
> cual seria el algoritmo? me han dicho de que lo haga con 2 for
>
> como lo puedo hacer?
>
> Gracias
>
> saludos
Te dejo un boceto de c�mo hacerlo con listas enlazadas y un algor�tmo
recursivo. No creo que te sirva si tienes que hacerlo con FORs pero
como dices que est�s haciendo tus pinitos creo que es interesante para
que veas lo limpio y ordenado que queda. Otro truco es dividir en 2
partes (dcha/izda), aunque no es necesario:
listaIzquierda/Derecha son listas doblemente enlazadas.
1 listaIzda
1 2
1 3
1 4 6
1 5 10
...
1 listaDcha
2 1
3 1
6 4 1
10 5 1
...
//=====================================================
Modificar_Listas (listaIzda, listaDcha){
Si listaDcha[1](o listaIzda[n]) es impar{
//Hacer crecer las listas.
a�adir_al_principio (listaIzda,1);
a�adir_al_final (listaDcha,1);
}
copiar listaIzda en constIzda;
copiar listaDcha en constDcha;
"rehacer" listaIzda a partir de constIzda;
"rehacer" listaDcha a partir de constDcha;
eliminar constIzda/constDcha.
Si condicion_terminacion es falsa:
ModificarListas (listaIzquierda, listaDerecha);
}
Si ya sabes C utilizando glib lo implementas en cuatro patadas:
http://developer.gnome.org/doc/API/glib/glib-doubly-linked-lists.html
Technical Details
Message-ID:
<4eb64fb0.0205190137.59f1b79c@posting.google.com>Path:
arc1-ca.pugleaf.net!archiver1.google.com!postnews1.google.com!not-for-mailReferences:
<TkQC8.117719$O6.251360@telenews.teleline.es>Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII X-Google-Thread: f86c8,694d45d6e6b2dc9f X-Google-Attributes: gidf86c8,public X-Google-ArrivalTime: 2002-05-19 02:37:03 PST Path: arc1-ca.pugleaf.net!archiver1.google.com!postnews1.google.com!not-for-mail From: e_arizon_benito@yahoo.com (Enrique Arizón Benito) Newsgroups: es.comp.os.linux.programacion Subject: Re: Ayuda con algoritmo Date: 19 May 2002 02:37:03 -0700 Organization: http://groups.google.com/ Lines: 68 Message-ID: <4eb64fb0.0205190137.59f1b79c@posting.google.com> References: <TkQC8.117719$O6.251360@telenews.teleline.es> NNTP-Posting-Host: 217.127.113.184 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit X-Trace: posting.google.com 1021801023 12662 127.0.0.1 (19 May 2002 09:37:03 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: 19 May 2002 09:37:03 GMT