这是线性算法还是常数算法,为什么?
Whether this is a linear or constant algorithm and why?
只想知道这个算法是线性还是常数?为什么?我很困惑,因为 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
将满足第一个条件但可能无效。
尝试包括对算法和变量的描述以及它们打算做什么。
只想知道这个算法是线性还是常数?为什么?我很困惑,因为 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
将满足第一个条件但可能无效。
尝试包括对算法和变量的描述以及它们打算做什么。