Rekursiv zu Literal

Kira_newbie

Aktives Mitglied
huhu. ich habe folgende Methode Rekursiv geschrieben:
Java:
	public void insert(Comparable elem)
	{
		if (item == null)
		{
			item = elem;
			left = new BinTree();
			right = new BinTree();
		} else {
			BinTree next;
			if (item.compareTo(elem) > 0)
				next = left;
			else
				next = right;
			next.insert(elem);
		}

und nun soll ich genau die Methode mit einer Schleife (ohne Rekursion) wiedergeben. Da Schleifen nicht gerade mein Lieblingsthema sind bräuchte ich da bitte mal eure Hilfe.
 
Java:
public void insertLoop(Comparable elem)
{
    if(item == null)
    {
        item = elem;
        left = new BinTree();
        right = new BinTree();
    }
    else
    {
        BinTree current = this;
        while(current.item != null)
        {
            if(current.item.compareTo(elem)>0)
            {
                current = current.left;
            }
            else
            {
                current = current.right;
            }
        }
        current.item = elem;
        current.left = new BinTree();
        current.right = new BinTree(); 
    }
}

nächste mal schau einfach in die wifo Gruppe ;-)
 
und nun soll ich genau die Methode mit einer Schleife (ohne Rekursion) wiedergeben. Da Schleifen nicht gerade mein Lieblingsthema sind bräuchte ich da bitte mal eure Hilfe.

Nicht das irgendwas im Bereich Java dein Lieblingsthema wäre.

Wieso studierst du informatik, wenn die kleinsten Aufgaben eine unlösbare Aufgabe sind?
;D
 
wie schon beschrieben gefällts mir nicht so besonders....
es geht mir auch nicht wirklich um das Fach in dem ich studiere als viel mehr daraum überhaupt zu studieren. Ich sehe das als riesen Bonus bei ner späteren bewerbung.
Mir fehlt nur einfach die Zeit neben der Schulle noch alles zu lernen 😉
 
huhu. ich habe folgende Methode Rekursiv geschrieben:
Java:
	public void insert(Comparable elem)
	{
		if (item == null)
		{
			item = elem;
			left = new BinTree();
			right = new BinTree();
		} else {
			BinTree next;
			if (item.compareTo(elem) > 0)
				next = left;
			else
				next = right;
			next.insert(elem);
		}

und nun soll ich genau die Methode mit einer Schleife (ohne Rekursion) wiedergeben. Da Schleifen nicht gerade mein Lieblingsthema sind bräuchte ich da bitte mal eure Hilfe.

Ganz ehrlich, ich unterstelle dir, dass du das nicht mal alleine programmiert hast, hätttest du die Rekursion eingabaut, so wüsstest du auch wie diese Rekursion iterativ umsetzen könntest.
 
ich hab da aber noch n problemchen.
ich soll an jedes element in dem etwas steht noch 2 leere unterbäume hängen.

Java:
class BinTree
{
	private Comparable item;
	private BinTree left, right;
	
) > 0)

	public void insertLoop(Comparable elem)
	{
	    if(item == null)
	    {
	        item = elem;
	        left = new BinTree();
	        right = new BinTree();
	    }
	    else
	    {
	        BinTree current = this;
	        while(current.item != null)
	        {
	            if(current.item.compareTo(elem)>0)
	            {
	                current = current.left;
	            }
	            else
	            {
	                current = current.right;
	            }
	        }
	        current.item = elem;
	        current.left = new BinTree();
	        current.right = new BinTree(); 
	    }
	}        
	
	
	public Comparable search(Comparable elem)
	{
		if (item == null)
			return null;
		int res = item.compareTo(elem);
		if (res == 0)
			return item;
		return ((res > 0) ? left : right).search(elem);
	}

	public String toString()
	{
		if (item == null)
			return "";
		return left.toString() + item.toString() + " " + right.toString();
	}

    public static void main(String[] args)
    {
        BinTree tree = new BinTree();
        tree.insertLoop(5);
        tree.insertLoop(4);
        tree.insertLoop(2);
        tree.insertLoop(1);
        tree.insertLoop(3);
        tree.insertLoop(10);
        tree.insertLoop(6);
        tree.insertLoop(12);
        tree.insertLoop(8);
        System.out.println(tree);
    }
}
 
Sag mal, kira (und sonst noch wer),...
Ich finde das echt schade dass ihr immer eure uebungsblaetter hier posten und die andere das loesen lassen.

Ihr werdet ihr klausur hart failed....(am montag)
 
wie schon beschrieben gefällts mir nicht so besonders....
es geht mir auch nicht wirklich um das Fach in dem ich studiere als viel mehr daraum überhaupt zu studieren. Ich sehe das als riesen Bonus bei ner späteren bewerbung.
Mir fehlt nur einfach die Zeit neben der Schulle noch alles zu lernen 😉

wie ich bereits einem anderen user sagte : wenn es dir nicht gefällt und es dir über den kopf wächst ... dann lass es ...

es heißt zwar immer : schlechtes studium ist besser als keins ... aber wer wird wohl bessere karten haben : jemand der es *wenn auch wie ich z.b.* sich seit vielen jahren zum hobby gemacht und erfahrungen gesammelt hat ... und dadurch auch sehr gute kenntnisse besitz ... oder ein student welcher sich mit ach und krach durchs studium geschaukelt hat und beim ersten prxis-test richtig auf die schnauze fällt weil er es einfach nicht kann ... denk mal drüber nach


was die thematik übungsblätter / hausaufgaben angeht

so lange man zu einer aufgabe auch einen eigenen lösungsansatz hat und nur beim letzten feinschliff hilfe braucht mag das ganze noch ok sein ... aber hausaufgaben ... nun ja wir kennen das ja alle *ich sag nur die 5 1/2 schritte =D*
 
btw : es heißt Iteral ... nicht Literal ...

unterschied verrät dir ebenfalls google in verbindung mit wikipedia
 
es lässt sich realisieren in dem du eine zusätzlich datenstruktur hinzuziehst die nach einer gewissen systematik befüllt und geleert wird. stichworte sind hier und nur hierbei: stack, queue, liste etc.
 

Neue Themen


Zurück
Oben