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
Apakah ada sistem di balik keajaiban analisis algoritma?
Ada banyak pertanyaan tentang bagaimana menganalisis waktu berjalan algoritma (lihat, misalnya, analisis runtime dan analisis algoritma ). Banyak yang serupa, misalnya yang meminta analisis biaya loop bersarang atau algoritma Divide & Conquer, tetapi sebagian besar jawaban tampaknya dibuat khusus. Di sisi lain, jawaban untuk pertanyaan umum lainnya menjelaskan gambaran yang …

14
Mengapa saya dapat melihat grafik dan segera menemukan titik terdekat ke titik lain, tetapi butuh saya O (n) waktu melalui pemrograman?
Izinkan saya mengklarifikasi: Diberikan sebaran beberapa titik tertentu n, jika saya ingin menemukan titik terdekat dengan titik mana pun dalam plot secara mental, saya dapat langsung mengabaikan sebagian besar titik dalam grafik, mempersempit pilihan saya ke beberapa titik kecil yang konstan di sekitar . Namun, dalam pemrograman, diberikan satu set …

4
Bagaimana cara mengubah automata terbatas ke ekspresi reguler?
Mengubah ekspresi reguler menjadi (minimal) NFA yang menerima bahasa yang sama adalah mudah dengan algoritma standar, misalnya algoritma Thompson . Namun, arah yang lain tampaknya lebih membosankan, dan terkadang ekspresi yang dihasilkannya berantakan. Algoritma apa yang ada untuk mengubah NFA menjadi ekspresi reguler yang setara? Apakah ada keuntungan terkait kompleksitas …

13
Bagaimana mengelabui heuristik "coba beberapa kasus uji": Algoritma yang tampak benar, tetapi sebenarnya salah
Untuk mencoba menguji apakah suatu algoritma untuk beberapa masalah sudah benar, titik awal yang biasa adalah mencoba menjalankan algoritme dengan tangan pada sejumlah kasus uji sederhana - cobalah beberapa contoh contoh masalah, termasuk beberapa "kasus sudut" sederhana. ". Ini adalah heuristik yang hebat: ini adalah cara yang bagus untuk dengan …


5
Apa alasan untuk mempelajari berbagai algoritma / struktur data yang melayani tujuan yang sama?
Saya telah bertanya-tanya tentang pertanyaan ini sejak saya masih mahasiswa. Ini adalah pertanyaan umum tetapi saya akan menguraikan dengan contoh di bawah ini. Saya telah melihat banyak algoritma - misalnya, untuk masalah aliran maksimum, saya tahu sekitar 3 algoritma yang dapat menyelesaikan masalah: Ford-Fulkerson, Edmonds-Karp & Dinic, dengan Dinic memiliki …

3
Bagaimana cara mengetahui notasi analisis kompleksitas waktu yang digunakan?
Di sebagian besar kelas algoritma pengantar, notasi seperti (Big O) dan diperkenalkan, dan seorang siswa biasanya akan belajar menggunakan salah satu dari ini untuk menemukan kompleksitas waktu.ΘOOOΘΘ\Theta Namun, ada notasi lain, seperti , dan . Apakah ada skenario khusus di mana satu notasi lebih disukai daripada yang lain?Ω ωoooΩΩ\Omegaωω\omega


8
Pencarian grafik: Lebar-pertama vs kedalaman-pertama
Saat mencari grafik, ada dua algoritma mudah: breadth-first dan depth-first (Biasanya dilakukan dengan menambahkan semua node grafik adjactent ke antrian (breadth-first) atau stack (depth-first)). Sekarang, apakah ada kelebihan satu sama lain? Yang bisa saya pikirkan: Jika Anda berharap data Anda berada cukup jauh di dalam grafik, kedalaman-pertama mungkin menemukannya lebih …

6
Bagaimana kita dapat berasumsi bahwa operasi dasar pada angka membutuhkan waktu yang konstan?
Biasanya dalam algoritma kami tidak peduli tentang perbandingan, penambahan, atau pengurangan angka - kami menganggap mereka berjalan dalam waktu . Sebagai contoh, kita mengasumsikan ini ketika kita mengatakan bahwa pengurutan berbasis perbandingan adalah , tetapi ketika angka terlalu besar untuk masuk ke dalam register, kita biasanya mewakili mereka sebagai array …

4
Apa hal baru di MapReduce?
Beberapa tahun yang lalu, MapReduce dipuji sebagai revolusi pemrograman terdistribusi. Ada juga kritikus tetapi pada umumnya ada hype antusiasme. Bahkan dipatenkan! [1] Namanya mengingatkan mapdan reducedalam pemrograman fungsional, tetapi ketika saya membaca (Wikipedia) Langkah peta: Node master mengambil input, membaginya menjadi sub-masalah yang lebih kecil, dan mendistribusikannya ke node pekerja. …

3
Algoritma in-place untuk interleaving array
Anda diberi array elemen2n2n2n a1,a2,…,an,b1,b2,…bna1,a2,…,an,b1,b2,…bna_1, a_2, \dots, a_n, b_1, b_2, \dots b_n Tugasnya adalah untuk interleave array, menggunakan algoritma di tempat sedemikian rupa sehingga array yang dihasilkan terlihat seperti b1,a1,b2,a2,…,bn,anb1,a1,b2,a2,…,bn,anb_1, a_1, b_2, a_2, \dots , b_n, a_n Jika persyaratan di tempat tidak ada, kami dapat dengan mudah membuat array baru …

9
Apakah ada masalah yang semakin mudah karena ukurannya bertambah?
Ini mungkin pertanyaan yang menggelikan, tetapi mungkinkah memiliki masalah yang sebenarnya semakin mudah saat input bertambah besar? Saya ragu ada masalah praktis seperti ini, tetapi mungkin kita dapat menemukan masalah yang merosot yang memiliki properti ini. Sebagai contoh, mungkin ia mulai "memecahkan dirinya sendiri" ketika menjadi lebih besar, atau berperilaku …


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.