🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.os.linux.programacion
Article #9790

Re: Ayuda con algoritmo

#9790
From: Enrique Arizón Benito
Date: Sun, 19 May 2002 09:37
68 lines
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-mail
References: <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