Ilmu Komputer

T&J untuk siswa, peneliti, dan praktisi ilmu komputer

4
Mengapa rekursi buruk?
Dalam desain kompiler, mengapa rekursi kiri dihilangkan dalam tata bahasa? Saya membaca bahwa itu karena dapat menyebabkan rekursi yang tak terbatas, tetapi apakah itu tidak benar untuk tata bahasa rekursif yang tepat juga?

1
Bukti yang kuat untuk validitas asumsi
Teorema Master adalah alat yang indah untuk memecahkan beberapa jenis perulangan . Namun, kami sering mengabaikan bagian integral ketika menerapkannya. Misalnya, selama analisis Mergesort kami dengan senang hati pergi dari T(n)=T(⌊n2⌋)+T(⌈n2⌉)+f(n)T(n)=T(⌊n2⌋)+T(⌈n2⌉)+f(n)\qquad T(n) = T\left(\left\lfloor \frac{n}{2} \right\rfloor\right) + T\left(\left\lceil \frac{n}{2} \right\rceil\right) + f(n) untuk T′(n)=2T′(n2)+f(n)T′(n)=2T′(n2)+f(n)\qquad T'(n) = 2 T'\left(\frac{n}{2}\right) + f(n) …


3
Bagaimana cara membuktikan bahwa DFA dari NFA dapat memiliki jumlah negara eksponensial?
Semua automata terbatas non-deterministik dapat diubah menjadi automata terbatas deterministik yang setara. Namun, automata terbatas deterministik hanya memungkinkan satu panah per simbol yang menunjuk dari suatu negara. Oleh karena itu, negara-negara bagian tersebut harus menjadi anggota set kekuasaan negara-negara NFA. Ini tampaknya menunjukkan bahwa jumlah negara bagian DFA dapat diukur …



1
Memecahkan kekambuhan membagi & menaklukkan jika rasio split tergantung pada
Apakah ada metode umum untuk menyelesaikan pengulangan formulir: T(n)=T(n−nc)+T(nc)+f(n)T(n)=T(n−nc)+T(nc)+f(n)T(n) = T(n-n^c) + T(n^c) + f(n) untuk , atau lebih umumc&lt;1c&lt;1c < 1 T(n)=T(n−g(n))+T(r(n))+f(n)T(n)=T(n−g(n))+T(r(n))+f(n)T(n) = T(n-g(n)) + T(r(n)) + f(n) di mana adalah beberapa fungsi sub-linear dari .ng( n ) , r ( n )g(n),r(n)g(n),r(n)nnn Pembaruan : Saya telah melalui tautan …





3
Masalah dalam P dengan algoritma acak terbukti lebih cepat
Apakah ada masalah dalam PP\mathsf{P} yang memiliki algoritma acak mengalahkan batas yang lebih rendah pada algoritma deterministik? Lebih konkretnya, apakah kita tahu ada kkk untuk mana DTIME(nk)⊊PTIME(nk)DTIME(nk)⊊PTIME(nk)\mathsf{DTIME}(n^k) \subsetneq \mathsf{PTIME}(n^k) ? Di sini PTIME(f(n))PTIME(f(n))\mathsf{PTIME}(f(n)) berarti kumpulan bahasa yang dapat ditentukan oleh TM acak dengan kesalahan yang dibatasi konstan (satu atau dua …

4
Bagaimana cara menggunakan algoritme serakah untuk menemukan urutan non-menurun paling dekat dengan yang diberikan?
Anda diberi n bilangan bulat semuanya antara dan . Di bawah setiap bilangan bulat Anda harus menulis bilangan bulat antara dan dengan persyaratan bahwa membentuk urutan yang tidak menurun. Tentukan penyimpangan urutan seperti itu menjadi . Desain algoritma yang menemukan b_i dengan deviasi minimum dalam runtime O (n \ sqrt …

3
Apa cara paling efisien untuk menghitung faktorial modulo prima?
Apakah Anda tahu algoritma yang menghitung faktorial setelah modulus secara efisien? Misalnya, saya ingin memprogram: for(i=0; i&lt;5; i++) sum += factorial(p-i) % p; Tetapi, padalah angka besar (prima) untuk menerapkan faktorial secara langsung .(p≤108)(p≤108)(p \leq 10^ 8) Dengan Python, tugas ini sangat mudah, tetapi saya benar-benar ingin tahu cara mengoptimalkan.

2
Bagaimana cara menggambarkan algoritma, membuktikan dan menganalisisnya?
Sebelum membaca The Art of Computer Programming (TAOCP) , saya belum mempertimbangkan pertanyaan-pertanyaan ini secara mendalam. Saya akan menggunakan kode pseudo untuk menggambarkan algoritma, memahaminya dan memperkirakan waktu berjalan hanya tentang pesanan pertumbuhan. The TAOCP secara menyeluruh berubah pikiran saya. TAOCP menggunakan bahasa Inggris yang dicampur dengan langkah-langkah dan goto …

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.