这是线性算法还是常数算法,为什么?

问题描述 投票:0回答:1

只想知道这个算法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”
algorithm time-complexity pseudocode
1个回答
0
投票

似乎您正在尝试在链接列表中插入新节点。

该算法的最坏情况运行时为O(n),其中n =链表中的节点数。

的确,有时不会执行while循环,但是我们根据最坏情况下的时间复杂度来评估算法,在这里,绝对是Linear

P.S:-

您可能想使用If (row >= 0 AND row < rowsize)而不是If (row >= 0 OR row < rowsize),因为row = -1将满足第一个条件,但可能无效。

[尝试包括对算法和变量的描述以及它们打算做什么。

© www.soinside.com 2019 - 2024. All rights reserved.