Saya telah membaca situs ini dengan penuh minat, tetapi saya menemukan banyak hal yang terlintas di kepala saya. Ini membuat saya ingin belajar lebih banyak tentang algoritma dan CS secara umum. Sejauh yang saya tahu dari penelitian saya, ada 2 cara utama untuk melakukan ini.
Saya bisa dengan sebuah buku tebal yang bagus dan mengerjakannya perlahan tapi pasti.
Saya dapat "belajar sambil melakukan" dan dengan buku yang bagus, tetapi alih-alih membacanya dari depan ke belakang, pindah ke bagian yang menarik minat saya dan bekerja untuk menerapkan dan menerapkan algoritma yang saya sukai.
?
Pertanyaan saya adalah, manakah di atas yang Anda gunakan dan apakah Anda akan merekomendasikan pendekatan yang sama kepada orang lain?
algorithms
education
Daniel Gratzer
sumber
sumber
Jawaban:
Saya belajar tentang algoritma dalam kursus universitas bertahun-tahun yang lalu. Tetapi jika Anda ingin melakukan algoritma menggunakan buku, maka Anda perlu yang bagus. Dua buku menonjol bagi saya sebagai cara untuk masuk ke algoritma:
Yang pertama mungkin lebih merupakan manual manual, sedangkan yang kedua lebih seperti Alkitab, tetapi dengan bukti.
Strategi yang dapat Anda ikuti akan terdiri dari membaca, melakukan latihan teoretis, dan kemudian mengimplementasikan sebanyak yang Anda bisa, dengan fokus pada algoritma / masalah yang Anda temukan menarik atau menantang atau keduanya. Jadi, cobalah untuk mencakup semua aspek algoritma, bukan hanya mengimplementasikannya. Ini akan mencakup mempelajari kompleksitas waktu dan ruang mereka dan membuktikan kebenarannya. Studi tentang algoritma lebih dari sekedar mengimplementasikan algoritma.
Setelah mendapatkan pengalaman yang cukup, mulailah mengkhususkan diri. Jika Anda tertarik pada Geometri Komputasi atau algoritma non-pemblokiran, misalnya, maka mulailah menjelajahi buku dan makalah penelitian di bidang ini.
Spesialisasi itu baik, tetapi teknik sampel dari daerah lain juga bagus, jadi membaca secara luas tentang algoritme (dan menerapkan algoritme semacam itu) adalah cara yang baik untuk mempertahankan serangkaian keterampilan yang luas.
EDIT: Setelah melalui algoritma pengantar, Anda dapat berkonsultasi dengan buku-buku seperti Algoritma Acak oleh Motwani & Raghavan atau Algoritma Approximation oleh Vazirani . Buku-buku ini adalah survei (dan sampai batas tertentu, latihan pembelajaran yang baik dalam teknik matematika) dalam teknik desain algoritma yang lebih maju. Mereka juga memperluas wawasan Anda ke banyak bidang lain di CS seperti Grafik dan Jaringan, desain dan Optimasi Struktur Data.
sumber
Ajarkan kelas algoritma.
Atau mungkin lebih baik:
menulis buku teks algoritma.
sumber
Cobalah memecahkan masalah berdasarkan suatu algoritma segera setelah Anda membacanya. Selain itu, untuk memahami algoritma dan mengimplementasikannya dengan lebih baik, Anda harus memiliki pemahaman yang lebih baik tentang struktur data. Ada buku yang sangat bagus tentang struktur data yang ditulis oleh Sahni. Anda dapat menggunakan itu dan untuk algoritma Anda dapat memecahkan masalah buku tantangan pemrograman. Pertanyaan cukup bagus di sana.
sumber
Jika Anda belum belajar tentang algoritma di universitas saya sarankan mengambil salah satu kelas online, Anda dapat mempertimbangkan mendaftar untuk salah satu kursus di coursera.org atau mengikuti video yang diposting oleh Stanford University.
sumber