在以下情况下,时间复杂度是多少?
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");
}
}
答案 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)