Как мы знаем, для выталкивания элемента в начало списка требуется O (1) время.Теперь рассмотрим, что мы хотим поместить (или добавить) элемент в конец списка.Какова сложность этой операции?
Теперь рассмотрим, чтобы поместить элемент в конец списка, нам нужно пройти по списку до конца (из-за отсутствия предварительного указателя), требуется O (n) временной сложности.Можно ли сделать это в O (1)?
Я сделал некоторую реализацию, добавляя значение в конце, я сохраняю следующее место в указателе, куда можно вставить узел.Пожалуйста, проверьте следующее:
import java.util.*;
class List{
int data;
List next;
List(int data){
this.data = data;
}
}
class Driver{
List head, temp;
Driver(){
head = null;
temp = head;
}
void push(int item){
if(head == null){
head = new List(item);
temp = head;
} else {
temp.next = new List(item);
temp = temp.next;
}
}
}
class AppendInList{
public static void main(String [] args){
Driver obj = new Driver();
obj.push(5);
obj.push(66);
}
}
Я искал в SO, но ничего не получил для своего удовлетворения!Поправь меня, если я сделал какую-то ошибку!