Buku untuk algoritme di luar Cormen

21

Saya telah menyelesaikan sebagian besar materi dalam buku Cormen Intro to Algorithms dan saya mencari buku algoritma yang mencakup materi di luar buku Corman. Apakah ada rekomendasi?

CATATAN: Saya menanyakan ini pada stackoverflow tetapi tidak terlalu senang dengan jawabannya.

CATATAN: Melihat sebagian besar komentar yang saya pikir idealnya saya ingin menemukan buku yang akan mencakup materi kursus 787 dalam deskripsi kursus ini .

Eugene
sumber
1
lihat ini
Kaveh
1
@ Kaveh Saya sudah membaca Tardos.
Eugene
1
"Pengantar Algoritma" mencakup hampir semua hal dalam lingkup desain dan analisis algoritma, dan merupakan buku teks paling populer di dunia untuk program sarjana dan pascasarjana. Setiap bab memberikan pengantar singkat untuk materi terkait, dan ada juga daftar referensi yang sangat panjang untuk studi lebih lanjut di bagian akhir. Jika Anda merasa perlu pemahaman yang lebih dalam tentang topik tertentu, misalnya algoritma grafik, teori kompleksitas, dll., Taruhan terbaik Anda adalah dengan melihat daftar pustaka buku, dan jika itu tidak membantu, Anda juga dapat meminta saran dari pakar domain dalam hal itu. daerah tertentu.
Ali
12
"Pengantar Algoritma" mencakup hampir semua hal dalam lingkup desain dan analisis algoritma - Ah, andai saja itu benar.
JeffE
5
Satu buku yang sangat saya sukai adalah Pengantar Algoritma: Pendekatan Kreatif , oleh Udi Manber. Tidak seperti kebanyakan buku teks lainnya, ia mengajarkan cara membuat algoritma sendiri. Untuk setiap algoritma yang dicakup dalam buku teks, ia memberikan perkembangan bagian yang meningkat, yang pertama menggambarkan pendekatan yang paling jelas dan setiap upaya berturut-turut memperbaiki kesalahan yang sebelumnya. Ini teks yang bagus menurut saya.
Vinayak Pathak

Jawaban:

9
I am looking for an algorithms book that covers material beyond Corman's book.

Ini dapat dijawab dengan berbagai cara, tergantung pada apa yang Anda inginkan "di luar". Saya akan merekomendasikan menanyakan arahan yang lebih spesifik, karena Anda lebih mungkin mendapatkan jawaban spesifik yang bermanfaat. Adapun beberapa pedoman umum:

  • Anda mungkin menemukan beberapa buku umum yang mengeksplorasi topik algoritmik umum lebih dalam daripada Corman, tetapi untuk sebagian besar, Anda perlu mulai mengkhususkan diri jika buku akan secara signifikan lebih mendalam. Kalau tidak, itu cenderung membengkak dan kurang berguna.
  • Jadi, alih-alih cari topik tertentu. Ada banyak materi lanjutan jika Anda fokus pada topik tertentu. Apakah Anda tertarik:
    • algoritma penyortiran?
    • algoritma string?
    • algoritma bilangan angka?
    • algoritma matriks?
    • algoritma grafik?
    • algoritma geometrik?
    • algoritma kuantum?
    • algoritma stokastik / acak?
    • pemrograman linier?
    • model perhitungan?
    • teori kompleksitas dasar dan algoritma?
  • Jika Anda ingin memahami cara menurunkan algoritme Anda sendiri, fokuskan untuk memahami struktur data yang diketahui digunakan dalam ruang masalah yang Anda investasikan (jadi, dapatkan kedalaman pengetahuan yang ada) dan lihat untuk memiliki pemahaman yang baik tentang teori kompleksitas dan model komputasi. Ini akan memberikan perasaan intuitif yang baik tentang apa yang mungkin untuk masalah yang diberikan, dan pendekatan apa yang mungkin akan berhasil lebih baik, bahkan jika Anda kesulitan membuktikan batas bawah secara formal.

Buku-buku seperti Papadimitriou's beberapa atau Arora / Barak tentang Complexity Theory akan menjadi saran saya untuk menindaklanjuti Corman untuk memahami lebih baik algoritma apa yang mungkin dan membangun beberapa intuisi, tapi saya hanya akan melihat makalah tinjauan umum modern pada area tertentu dan mencari untuk lulus dan buku tingkat penelitian tentang topik yang lebih spesifik jika Anda ingin terbiasa dengan tingkat pemahaman modern.

ex0du5
sumber
1
Anda mengajukan pertanyaan yang sangat bagus. Saya tertarik pada algoritma bilangan teoretis jadi saya sudah melihat Bach dan Teori Bilangan Algoritmik Shallit. Saya mencari buku yang akan membangun teknik pengembangan algoritmik saya di luar Cormen.
Eugene
1
Saya tidak mencari kedalaman, tetapi luas. Bukan teori kompleksitas dasar, tetapi pengantar algoritma / struktur data yang saya dengar tetapi tidak ada di CLRS (atau hanya hadir sebagai masalah) untuk ditambahkan ke gudang pemrograman hal-hal yang pernah saya dengar; hal-hal seperti: Pencarian *, Pencarian Pertama Terbaik, filter Bloom, kompresi file / gambar, Burstsort, Hidden Markov Model, pengklasifikasi Naif Bayes, algoritma kuantum, daftar lompatan, TimSort, Treaps, Mencoba, algoritma diagram Voronoi, dll. Bahkan jika itu hanya kumpulan artikel menarik tentang berbagai topik seperti Mutiara Pemrograman Bentley.
dr jimbob
16

Seperti yang telah dicatat orang lain, buku tentang algoritma (lanjutan) paling baik dipilih berdasarkan topik. Referensi umum yang baik tetapi berat dengan analisis yang teliti mungkin adalah Seni Pemrograman Komputer oleh Knuth.

Adapun teknik analisis, Anda mungkin tertarik dalam Pengantar Analisis Algoritma oleh Sedgewick dan Flajolet, dan Algoritma Combinatorics oleh Flajolet dan Sedgewick untuk teori lebih lanjut dalam arah yang sama.

Untuk pendekatan tentang mengatasi masalah-masalah sulit, lihat Algoritma untuk Masalah-Masalah Sulit oleh Hromkovič.

Raphael
sumber
5

Pernahkah Anda melihat Buku Pegangan Ilmu Komputer Teoritis

Jika Anda ingin bergerak di luar algoritma imperatif dan beralih ke pemrograman fungsional, lihatlah Struktur Data Murni Fungsional . Saya tahu judul kata struktur data tetapi algoritma dalam buku ini dapat membuka mata Anda ke cara pemrograman yang berbeda.

EDIT

Saya melihat deskripsi kursus untuk CS 787, dan kelas saat ini

Itu mencatat

Kami terutama akan menggunakan makalah dari literatur. Ini akan tersedia sebagai handout atau melalui web. Beberapa buku tentang algoritma akan disimpan di perpustakaan Wendt.

Jika itu aku, aku akan menghubungi direktori instruktur . :)

Guy Coder
sumber
Tidak, saya belum melihat buku pegangan. Terima kasih untuk sarannya!
Eugene
Wow. Saya tidak dapat menemukan info kursus. Terima kasih untuk tautannya.
Eugene
-2

Algoritma komputer sangat kompleks dan sulit untuk memahami topik, jadi tidak ada buku terbaik, yaitu hanya satu buku yang akan menjelaskan semuanya kepada Anda. Anda perlu membaca beberapa dari mereka untuk memahami topik ini.

di sini adalah 2 sen saya berdasarkan 10 tahun pemrograman dan menghadiri banyak wawancara:

  1. Manual Desain Algoritma oleh Steven S. Skiena
  2. Algoritma ( http://algs4.cs.princeton.edu/home/ ) oleh Sedgwick
  3. Pengantar Algoritma Oleh Thomas Cormen
  4. Algoritma untuk Wawancara oleh Adnan Aziz
  5. Algoritma Python: Menguasai Algoritma Dasar dalam Bahasa Python
  6. Algoritma Tidak Terkunci oleh Thomas Cormen

Referensi:

Keris
sumber
4
Dan mengapa Anda merekomendasikan ini?
Raphael
3
Khususnya, mengapa Anda merekomendasikan Cormen et al. "Pengantar Algoritma" sebagai jawaban atas pertanyaan yang meminta buku yang melampaui buku itu.
David Richerby