Competitive Programming Academy · Pelajaran

Mengira Operasi dengan Big-O

Daripada pemalar hingga kuadratik dalam istilah mudah.

Pelajaran 1 daripada 413 langkah

Mengira Operasi dengan Big-O ialah pelajaran Competitive Programming Academy percuma di CoddyKit. Ini ialah pelajaran 1 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Competitive Programming Academy, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Competitive Programming Academy merangkumi sejumlah 4 pelajaran.

Mengapa Mengira Operasi

Dalam pertandingan, kelajuan sangat penting. Daripada mengukur masa kod, Anda menganggarkan jumlah langkah yang diperlukan. Anggaran itu ialah kerumitan masa kod tersebut. 🚀

Kenali Big-O

Big-O menerangkan cara jumlah operasi berkembang apabila saiz masukan n bertambah. Ia mengabaikan perincian kecil dan menumpukan pada arah aliran yang dominan.

Masa Malar O(1)

Apabila kerja tidak pernah bergantung pada n, kerumitannya ialah O(1). Membaca satu unsur senarai atau melakukan satu penambahan sentiasa mengambil masa yang sama.

x = arr[0]
y = a + b

Masa Linear O(n)

Satu gelung mudah merentasi n item ialah O(n). Gandakan masukan dan kerja juga kira-kira berganda. Inilah kaedah kerja harian yang paling biasa.

for x in arr:
    total += x

Masa Kuadratik O(n kuasa dua)

Gelung di dalam gelung yang merentasi n item ialah O(n^2). Untuk n = 1000, jumlahnya ialah sejuta langkah dan meningkat dengan pantas selepas itu.

for i in range(n):
    for j in range(n):
        check(i, j)

Masa Logaritma O(log n)

Apabila setiap langkah membahagikan masalah kepada separuh, Anda mendapat O(log n). Carian binari boleh mencapai satu bilion item dalam kira-kira 30 langkah sahaja. ✨

Tangga Pertumbuhan

Daripada paling pantas hingga paling perlahan, susunan yang biasa ialah: O(1), O(log n), O(n), O(n log n), O(n^2). Lebih tinggi kedudukannya, lebih baik penskalaannya.

Gugurkan Pemalar

Big-O mengabaikan faktor pemalar, jadi O(2n) hanyalah O(n). Dua lintasan masih berkembang secara linear, jadi pengganda itu tidak mengubah kelasnya.

Kekalkan Sebutan Terbesar Sahaja

Apabila sebutan dijumlahkan, hanya sebutan yang berkembang paling pantas diambil kira. O(n^2 + n) dipermudah menjadi O(n^2) kerana n^2 mengatasi n dengan jauh apabila n bertambah.

Berturutan berbanding Bersarang

Dua gelung yang dijalankan satu demi satu dijumlahkan sebagai O(n + n) = O(n). Dua gelung yang bersarang pula didarabkan menjadi O(n^2). Bentuk gelung menentukan yang mana satu.

Kes Terburuk Dahulu

Pertandingan menilai berdasarkan ujian yang paling sukar, jadi fikirkan kes terburuk. Anggap gelung berjalan sepenuhnya, bukannya berhenti lebih awal.

Semakan Pantas

Masanya untuk menguji gerak hati Big-O Anda.

Ringkasan

Anda kini membaca kod berdasarkan pertumbuhan: O(1), O(n), O(n^2), dan O(log n). Gugurkan pemalar, kekalkan sebutan terbesar, dan fikirkan kes terburuk. 🎯

Percuma untuk bermula

Pelajari Python dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
30
Pelajaran
120

Soalan Lazim

Adakah pelajaran “Mengira Operasi dengan Big-O” percuma?

Ya — teks penuh “Mengira Operasi dengan Big-O” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus Competitive Programming Academy, tingkat taraf kepada CoddyKit PRO. Kursus Competitive Programming Academy merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Mengira Operasi dengan Big-O”?

Daripada pemalar hingga kuadratik dalam istilah mudah. Anda berlatih Competitive Programming Academy menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan Competitive Programming Academy?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Competitive Programming Academy di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 1 daripada 4.

Berapa lamakah pelajaran “Mengira Operasi dengan Big-O” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran Competitive Programming Academy ini?

Ya. Setiap pelajaran Competitive Programming Academy menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Mengira Operasi dengan Big-O
  2. Panduan Ringkas 10^8
  3. Baca Kekangan, Pilih Kerumitan
  4. Sebab TLE Berlaku dan Cara Mengesannya
← Kembali ke Competitive Programming Academy