-1
Это первый раз, когда я слышал о сложности простой функции, поэтому я смущен. Я прав?Какова сложность простой функции Set, Get, toString?
Это мой класс, мне нужно написать сложность для каждой функции, но я думаю, что это все O (1).
public class PolyNode
{
private int _power;
private double _coefficient;
private PolyNode _next;
public PolyNode (int power, double coefficient)
{
if (power < 0)
{
_power = 0;
_coefficient = 0;
_next = null;
}
else
{
_power = power;
_coefficient = coefficient;
_next = null;
}
}
public PolyNode(int power, double coefficient,PolyNode next)
{
if (power < 0)
{
_power = 0;
_coefficient = 0;
_next = next._next;
}
else
{
_power = power;
_coefficient = coefficient;
_next = next._next;
}
}
public PolyNode(PolyNode p)
{
_power = p._power;
_coefficient = p._coefficient;
_next = p._next;
}
public int getPower()
{
return _power;
}
public double getCoefficient()
{
return _coefficient;
}
public PolyNode getNext()
{
return _next;
}
public void setCoefficient (double coefficient)
{
_coefficient = coefficient;
}
public void setNext(PolyNode next)
{
_next = next;
}
public String toString()
{
String st = "";
if (_coefficient == 0)
return "";
else if (_power == 0)
{
st += _coefficient;
return st;
}
else if (_power == 1 && _coefficient != 1 && _coefficient != -1)
return _coefficient + "x";
else if (_coefficient == 1 || _coefficient == -1)
{
if (_coefficient == 1 && _power != 0)
{
if (_power == 1)
return "x";
else
return "x^" + _power;
}
else if (_coefficient == 1 && _power == 0)
return "1";
else if (_coefficient == -1 && _power != 0)
return "-x^" + _power;
else if (_coefficient == -1 && _power == 0)
return "-1";
}
return _coefficient + "x^" +_power;
}
}
нет петли, нет рекурсии : O (1) звучит правильно. – assylias
Пожалуйста, следуйте надлежащим соглашениям об именах Java. Кроме того, все, что требует времени для завершения, имеет сложность. Просто, мы склонны игнорировать его в некоторых случаях. – TheLostMind
Единственное, что я задавал, это 'toString', который содержит double to преобразование строки и добавление строки, но на входные данные не влияют, поэтому O (1) все еще кажется правильным. – DrYap