Saya telah belajar hari ini bahwa analisis algoritma berbeda berdasarkan pada model komputasi. Itu adalah sesuatu yang tidak pernah saya pikirkan atau dengar.
Contoh yang diberikan kepada saya, yang menggambarkannya lebih lanjut, oleh Pengguna @chi adalah:
Misalnya, pertimbangkan tugas: diberikan kembalikan . Dalam RAM ini dapat diselesaikan dalam karena akses array adalah waktu konstan. Dengan menggunakan TM, kita perlu memindai seluruh input, jadi
Ini membuat saya bertanya-tanya tentang bahasa fungsional; Dari pemahaman saya, "Bahasa fungsional terkait erat dengan kalkulus lambda" (dari komentar oleh Yuval Filmus di sini ). Jadi, jika bahasa fungsional didasarkan pada kalkulus lambda, tetapi mereka berjalan pada mesin berbasis RAM, apa cara yang tepat untuk melakukan analisis kompleksitas pada algoritma yang diimplementasikan menggunakan struktur data dan bahasa murni fungsional?
Saya belum memiliki kesempatan untuk membaca Struktur Data Murni Fungsional tetapi saya telah melihat halaman Wikipedia untuk subjek, dan tampaknya beberapa struktur data mengganti array tradisional dengan:
"Array dapat diganti dengan peta atau daftar akses acak, yang mengakui implementasi murni fungsional, tetapi waktu akses dan pembaruan adalah logaritmik."
Dalam hal itu, model komputasi akan berbeda, benar?