Video: Leap Motion SDK 2024
Operasi yang lebih banyak memerlukan algoritma, semakin kompleksnya. Kompleksiti adalah ukuran kecekapan algoritma dari segi penggunaan masa kerana setiap operasi mengambil sedikit masa. Memandangkan masalah yang sama, algoritma kompleks umumnya tidak menggalakkan daripada algoritma mudah kerana algoritma kompleks memerlukan lebih banyak masa.
Fikirkan tentang masa-masa apabila kelajuan pelaksanaan membuat perbezaan, seperti dalam sektor perubatan atau kewangan, atau apabila terbang pada pilot automatik pada pesawat atau roket angkasa. Mengukur kerumitan algoritma adalah tugas yang mencabar, walaupun perlu jika anda ingin menggunakan penyelesaian yang betul. Teknik pengukuran pertama menggunakan mesin abstrak seperti Random Access Machine (RAM).
RAM juga bermaksud Memori Rawak Akses, iaitu memori dalaman yang digunakan oleh komputer anda semasa menjalankan program. Walaupun ia menggunakan akronim yang sama, Mesin Rawak Akses adalah sesuatu yang sama sekali berbeza.
Mesin Abstrak bukan komputer sebenar, tetapi teori, komputer yang dibayangkan dalam berfungsi. Anda menggunakan mesin abstrak untuk mempertimbangkan seberapa baik algoritma akan berfungsi pada komputer tanpa menguji pada perkara sebenar, namun terikat dengan jenis perkakasan yang anda gunakan. Komputer RAM melakukan operasi aritmetik asas dan berinteraksi dengan maklumat dalam ingatan, itu sahaja. Setiap kali komputer RAM melakukan apa-apa, ia mengambil langkah masa (unit masa). Apabila anda menilai algoritma dalam simulasi RAM, anda mengira langkah masa menggunakan prosedur berikut:
- Kira setiap operasi mudah (aritmetik) sebagai langkah masa.
- Break operasi kompleks ke dalam operasi aritmetik mudah dan langkah-langkah masa kiraan seperti yang ditakrifkan dalam Langkah 1.
- Mengira setiap akses data dari ingatan sebagai langkah satu masa.
Untuk melaksanakan perakaunan ini, anda menulis versi pseudocode algoritma anda dan melakukan langkah-langkah ini menggunakan kertas dan pensil. Akhirnya, ia adalah satu pendekatan yang mudah berdasarkan idea asas bagaimana komputer bekerja, perkiraan berguna yang boleh anda gunakan untuk membandingkan penyelesaian tanpa mengira kuasa dan kelajuan perkakasan anda atau bahasa pengaturcaraan yang anda gunakan.
Menggunakan simulasi adalah berbeza daripada menjalankan algoritma pada komputer kerana anda menggunakan input standard dan yang telah dipratentukan. Pengukuran komputer sebenar memerlukan anda menjalankan kod dan mengesahkan masa yang diperlukan untuk menjalankannya. Kod berlari pada komputer sebenarnya merupakan penanda aras, satu lagi ukuran pengukuran kecekapan, di mana anda juga mengambil kira persekitaran aplikasi (seperti jenis perkakasan yang digunakan dan pelaksanaan perisian).Penanda aras adalah berguna tetapi tidak mempunyai generalisasi. Pertimbangkan, sebagai contoh, bagaimana perkakasan yang lebih baru dapat dengan cepat melaksanakan algoritma yang mengambil umur pada komputer sebelumnya.