Wie finde ich den mittleren Knoten in der einfach verknüpften Liste ohne Traversal?

7

Wie finde ich den mittleren Knoten in der einfach verknüpften Liste ohne Traversal?

ist es an erster Stelle möglich?

In einer Traversierung I Verwenden Sie die traditionelle Methode, zwei Zeiger zu verwenden, von denen einer um zwei Positionen springt, und andere, die eine Position überspringen. Es gibt noch einen anderen Ansatz, um den mittleren Knoten in einem Traversal zu finden

    
Arunachalam 16.01.2011, 18:16
quelle

5 Antworten

16

Nein, das ist nicht möglich. Die Adressen der Knoten sind willkürlich, so dass es keine Möglichkeit gibt, sie zu kennen, ohne sie zu durchlaufen.

    
Oliver Charlesworth 16.01.2011 18:18
quelle
15
%Vor%     
codewarrior 17.02.2013 22:31
quelle
1

Ja, Sie können, wenn Sie alle Aspekte der Liste hinzufügen und löschen.

Wenn Sie während des Hinzufügens oder Löschens einen Verweis auf den Punkt halten, der als Mittlerknoten betrachtet wird, kann dies geschehen. Es gibt einige Fälle, die behandelt werden müssen. Darüber hinaus gibt es Szenarien, in denen eine gerade Anzahl von Elementen berücksichtigt werden muss. Was wird der Mittelknoten in einer solchen Situation sein? ect .. ect ..

Sie finden also den Midway-Knoten nicht wirklich, sondern verfolgen ihn.

    
Feisty Mango 16.01.2011 19:17
quelle
0
%Vor%

Ich habe diesen Code auf einer anderen Lösungsseite gesehen ... Ist das nicht eine andere Methode, bei der die Liste einzeln durchlaufen wird?

    
Andy Khatter 24.08.2011 15:57
quelle
0
%Vor%     
radheshyam 23.06.2012 15:58
quelle

Tags und Links