Pertanyaan yang diberi tag «algorithms»

Algoritme adalah urutan langkah yang didefinisikan dengan baik yang mendefinisikan solusi abstrak untuk suatu masalah. Gunakan tag ini ketika masalah Anda terkait dengan desain dan analisis algoritma.


3
Algoritma faktorial lebih efisien daripada perkalian naif
Saya tahu bagaimana kode faktorial menggunakan iteratif dan rekursif (misalnya n * factorial(n-1)untuk misalnya). Saya membaca dalam sebuah buku teks (tanpa diberi penjelasan lebih lanjut) bahwa ada cara pengkodean yang lebih efisien untuk faktorial dengan membaginya menjadi setengah secara rekursif. Saya mengerti mengapa itu mungkin terjadi. Namun saya ingin mencoba …


3
Kasus terburuk di tempat yang stabil?
Saya mengalami kesulitan menemukan sumber daya yang baik yang memberikan kasus terburuk di tempat algoritma penyortiran stabil . Adakah yang tahu sumber daya yang bagus?O(nlnn)O(nln⁡n)O(n \ln n) Hanya pengingat, di tempat berarti menggunakan array yang diteruskan dan algoritma pengurutan hanya diperbolehkan untuk menggunakan ruang ekstra konstan. Stabil berarti bahwa elemen …

2
Mengapa log di big-O pencarian biner bukan basis 2?
Saya baru memahami algoritma ilmu komputer. Saya mengerti proses pencarian biner, tetapi saya memiliki sedikit kesalahpahaman dengan efisiensinya. Dalam ukuran elemen, dibutuhkan, rata-rata, n langkah untuk menemukan elemen tertentu. Mengambil logaritma basis 2 dari kedua sisi menghasilkan log 2 ( s ) = n . Jadi bukankah jumlah rata-rata langkah …


3
Algoritma yang menemukan jumlah jalur sederhana dari ke di
Can anyone menyarankan saya algoritma waktu linear yang mengambil sebagai masukan diarahkan asiklik grafik dan dua simpul dan dan kembali jumlah jalur sederhana dari ke di . Saya memiliki algoritma di mana saya akan menjalankan DFS (Depth First Search) tetapi jika DFS menemukan maka tidak akan mengubah warna (dari putih …

4
Cara mengukur "penyortiran"
Saya bertanya-tanya apakah ada cara standar untuk mengukur "pengurutan" array? Apakah array yang memiliki jumlah rata-rata kemungkinan inversi dianggap tidak tersortir secara maksimal? Maksud saya pada dasarnya sejauh mungkin dari yang diurutkan atau dibalik diurutkan.

2
Seberapa buruk asimtotis pengocokan naif?
Sudah diketahui umum bahwa algoritma 'naif' ini untuk mengocok array dengan menukar setiap item dengan item yang dipilih secara acak tidak berfungsi dengan benar: for (i=0..n-1) swap(A[i], A[random(n)]); Secara khusus, karena pada masing-masing nnn iterasi, salah satu dari nnn pilihan dibuat (dengan probabilitas seragam), ada nnnnn^n mungkin 'jalur' melalui perhitungan; …


2
Apakah ada peningkatan pada algoritma Dana Angluin untuk mempelajari perangkat reguler
Dalam makalah seminalinya tahun 1987, Dana Angluin menyajikan algoritma waktu polinomial untuk mempelajari DFA dari pertanyaan keanggotaan dan pertanyaan teori (contoh tandingan terhadap proposal DFA). Dia menunjukkan bahwa jika Anda mencoba mempelajari DFA minimal dengan status, dan contoh balasan terbesar Anda adalah panjang , maka Anda perlu membuat kueri keanggotaan …

4
Tentang apa pemrograman dinamis?
Maaf sebelumnya jika pertanyaan ini terdengar bodoh ... Sejauh yang saya tahu, membangun algoritma menggunakan pemrograman dinamis bekerja seperti ini: mengungkapkan masalah sebagai relasi berulang; menerapkan hubungan perulangan baik melalui memoisasi atau melalui pendekatan bottom up. Sejauh yang saya tahu, saya telah mengatakan segalanya tentang pemrograman dinamis. Maksud saya: pemrograman …

3
Akankah perangkat keras / implementasi mempengaruhi kompleksitas waktu / ruang dari algoritma?
Saya bahkan bukan mahasiswa CS, jadi ini mungkin pertanyaan bodoh, tapi tolong bawa saya ... Di era pra-komputer, kita hanya bisa menerapkan struktur data array dengan sesuatu seperti array laci. Karena salah satu harus mencari laci dengan sesuai indeks sebelum penggalian nilai dari itu, kompleksitas waktu array lookup , dengan …

2
Apa program yang sangat singkat dengan status penghentian yang tidak diketahui?
Program 579-bit dalam Binary Lambda Calculus ini memiliki status penghentian yang tidak diketahui: 01001001000100010001000101100111101111001110010101000001110011101000000111001110 10010000011100111010000001110011101000000111001110100000000111000011100111110100 00101011000000000010111011100101011111000000111001011111101101011010000000100000 10000001011100000000001110010101010101010111100000011100101010110000000001110000 00000111100000000011110000000001100001010101100000001110000000110000000100000001 00000000010010111110111100000010101111110000001100000011100111110000101101101110 00110000101100010111001011111011110000001110010111111000011110011110011110101000 0010110101000011010 Artinya, tidak diketahui apakah program ini berakhir atau tidak. Untuk menentukannya, Anda harus menyelesaikan dugaan Collatz - atau, setidaknya, untuk semua angka hingga 2 ^ 256. Pada repositori ini …

3
Algoritma deteksi siklus Floyd | Menentukan titik awal siklus
Saya mencari bantuan untuk memahami algoritma pendeteksian siklus Floyd. Saya telah membaca penjelasan di wikipedia ( http://en.wikipedia.org/wiki/Cycle_detection#Tortoise_and_hare ) Saya dapat melihat bagaimana algoritma mendeteksi siklus dalam waktu O (n). Namun, saya tidak dapat memvisualisasikan fakta bahwa setelah kura-kura dan kelinci bertemu untuk pertama kalinya, permulaan siklus dapat ditentukan dengan menggerakkan …

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.