给定代码场景的时间复杂度

时间:2019-04-26 13:41:29

标签: c time complexity-theory

在以下情况下,时间复杂度是多少?

i)

if (isset($_POST['id'])) {
    $postType = $_POST['postType'];
    if ($postType == "addOrUpdate") {   
        $Id = $_POST['id'];
        $FullName = $_POST['userName']; 
        $pic = base64_encode(file_get_contents($_FILES['pic'][tmp_name]));
        $data = new Data();
        $db = $data->dataHandler();
        $query = "INSERT INTO Users (`id`, `fullname`, `image`) 
                values ('$Id', '$FullName', '$pic')";
        $db->query($query);
         }
}

ii)

for(i=0; i<n; i++)
{
    for(j=0; j<n; j++)
    {
        printf("hello");
    }
}

2 个答案:

答案 0 :(得分:0)

i):外循环运行n次,因此您触摸外循环中的每个元素n次。

内部循环也运行n次,因此您触摸每个元素n*n次,因此它的 O(n ^ 2)

ii)循环运行了n*n次,因此它只是O(n ^ 2)

答案 1 :(得分:0)

您需要问自己1次迭代要花多少钱,让我们假设x 然后问问自己我有多少次迭代,假设y 那么时间的复杂度如何? O(x * y)

在两种情况下: 1次迭代花费O(1) 您有n * n次迭代 所以时间复杂度O(n ^ 2)