只想知道这个算法是linear还是constant?又为什么呢?我很困惑,因为while循环在if语句中我已经连续3天致力于此工作。请帮助我。在此先感谢
If (row >= 0 OR row < rowsize)
If (column >= 0 OR column < columnsize)
If (head == null)
head = newnode
else
while (temp => COI < CUI AND no!= null)
if (temp => link == null)
no = null
else
temp = temp => link
no = no + 1
if (no == 0)
newnode => link = head
head = newnode
if else (no > 0)
while (no1 < no - 1)
temp1 = temp1 => link
no1 = no1 + 1
store => link = temp1 => link
temp1 => link = newnode
newnode => link = store => link
else
temp => link = newnode
else
Display “You have entered an invalid column value”
Else
Display “You have entered an invalid row value”
似乎您正在尝试在链接列表中插入新节点。
该算法的最坏情况运行时为O(n)
,其中n =链表中的节点数。
的确,有时不会执行while循环,但是我们根据最坏情况下的时间复杂度来评估算法,在这里,绝对是Linear
。
P.S:-
您可能想使用If (row >= 0 AND row < rowsize)
而不是If (row >= 0 OR row < rowsize)
,因为row = -1
将满足第一个条件,但可能无效。
[尝试包括对算法和变量的描述以及它们打算做什么。