Daftar Isi:
Definisi - Apa yang dimaksud dengan Kompleksitas Waktu?
Kompleksitas waktu adalah konsep dalam ilmu komputer yang berkaitan dengan kuantifikasi jumlah waktu yang diambil oleh seperangkat kode atau algoritma untuk memproses atau menjalankan fungsi dari jumlah input.
Dengan kata lain, kompleksitas waktu pada dasarnya adalah efisiensi, atau berapa lama fungsi program diperlukan untuk memproses input yang diberikan.
Techopedia menjelaskan Kompleksitas Waktu
Kompleksitas waktu hanyalah ukuran waktu yang diperlukan untuk suatu fungsi atau ekspresi untuk menyelesaikan tugasnya, serta nama proses untuk mengukur waktu itu. Ini dapat diterapkan pada hampir semua algoritma atau fungsi tetapi lebih berguna untuk fungsi rekursif. Ada sedikit gunanya dalam mengukur kompleksitas waktu untuk aplikasi seperti mengambil nama pengguna dan kata sandi dari database untuk perbandingan atau hanya menyimpan data apakah itu 20 ms atau 5 ms; itu akan lebih sesuai dengan waktu akses. Ini tidak ada hubungannya dengan peduli tentang waktu pelaksanaannya, tetapi perbedaannya diabaikan. Namun, jika ada fungsi rekursif yang dapat disebut beberapa kali, menentukan dan memahami sumber kompleksitas waktunya dapat membantu mempersingkat waktu pemrosesan keseluruhan dari, katakanlah, 600 ms hingga 100 ms.
Kompleksitas waktu dinyatakan secara khusus dalam "notasi O besar, " tetapi ada notasi lain. Ini adalah representasi matematis dari batas atas faktor penskalaan untuk suatu algoritma dan ditulis sebagai O (Nn), dengan "N" menjadi jumlah input dan "n" menjadi jumlah ekspresi looping. Sebagai contoh, kami memiliki algoritma:
numbers = {5, 6, 10, 11, 2}; foreach (number as number1)
{
foreach(number as number2)
{
statements; } }
numbers = {5, 6, 10, 11, 2};
foreach (number as number1)
{
foreach(number as number2)
{
statements; } }
numbers = {5, 6, 10, 11, 2};
foreach (number as number1)
{
foreach(number as number2) {
statements; } }
numbers = {5, 6, 10, 11, 2};
foreach (number as number1)
{
foreach(number as number2)
{
statements; } }
numbers = {5, 6, 10, 11, 2};
foreach (number as number1)
{
foreach(number as number2)
{
statements; } }
Ada lima input dalam array "angka", dan loop "foreach" diulang dua kali. Oleh karena itu, pertumbuhan eksponensial dalam waktu pemrosesan terjadi ketika jumlah input dan jumlah loop bertambah.