Saya belajar Java sekarang.
Saya ingin menjadi pengembang perusahaan yang sukses. Lalu apa algoritma dan struktur data yang harus saya fahami dengan baik? Buku apa yang akan Anda rekomendasikan kepada saya?
Untuk menjadi pengembang Java yang sukses, apakah saya perlu mengetahui semua algoritma canggih seperti yang diberikan dalam CLRS?
Bisakah Anda menyarankan saya daftar topik yang harus saya pelajari dalam urutan prioritas mereka?
Katakan nama beberapa topik yang harus saya ketahui. Suka Pencarian, Sortasi, Grafik, Pohon dll?
Adalah baik bahwa Anda ingin memperluas dan meningkatkan keterampilan pemrograman Anda. Namun penting untuk tidak memperlakukan algoritma sebagai katalog hal-hal yang harus diingat. Apa yang perlu Anda ketahui untuk menjadi pengembang yang baik (di Jawa atau yang lainnya) adalah memahami analisis algoritmik.
Anda belajar ini dengan mempelajari beberapa struktur data dan algoritma, dan belajar untuk menganalisis kinerjanya dalam hal waktu dan ruang (memori). Mencari, menyortir, grafik, pohon, tumpukan, tumpukan, dan semua barang bagus itu. Ini juga harus mengikuti beberapa dasar teori perhitungan dan matematika diskrit (bahkan jika di wilayah Jawa kita tidak pernah benar-benar menggunakan kedua topik itu secara langsung - manfaatnya tidak langsung.)
Pisahkan pembelajaran bahasa pemrograman (dalam kasus Anda Java) dengan pembelajaran analisis algoritmik (yang berbeda dari "menghafal" algoritma dan struktur data.)
George T. Heineman, Gary Pollice dan "Algoritma in a Nutshell" karya Stanley Selkow adalah awal yang baik. "Algoritma" oleh Sanjoy Dasgupta, Christos Papadimitriou, dan Umesh Vazirani adalah buku teks sarjana yang bagus.
Pemikiran terbaik adalah mengambil 9-12 mata kuliah kredit dalam pemrograman sebelum mengambil kursus tingkat sarjana, 3000-level dalam algoritma. Selain itu, belajar mandiri dengan dua buku yang saya sebutkan mungkin merupakan alternatif yang baik (belajar mandiri mungkin tidak untuk semua orang,).
Semoga berhasil!