Sangat mungkin untuk menghabiskan sebagian besar / semua karier Anda melakukan pekerjaan yang signifikan dan bermanfaat, dengan hanya sedikit pengetahuan tentang algoritma dan struktur data.
Tingkat minimum pengetahuan untuk algoritma dan struktur data, agar berhasil, akan mengharuskan Anda untuk:
- Waspadai sebagian besar dari mereka (termasuk membaca yang baru sesekali saat mereka keluar)
- tahu di mana menemukan implementasi yang baik, teruji, dan bekerja
- dapat membandingkan algoritma dan kegunaannya
- dapat menyalin dengan benar satu dari contoh sumber terbuka ke lingkungan spesifik Anda, dengan sedikit penyesuaian
Tidak ada * maksimum * . Jika Anda mau, Anda dapat mengambil studi Anda ke tingkat PhD dan seterusnya. Kegunaannya terkait langsung dengan jenis pekerjaan yang Anda minati, dan jenis pekerjaan apa yang menurut Anda paling menarik dan bermanfaat.
Yang mengatakan, sebagai pedoman kasar (tetapi tidak absolut), semakin rendah tingkat, sumber daya lebih intensif dan kurang otomatis bahasa, kerangka kerja, dan aplikasi yang sedang Anda kerjakan, semakin tinggi tingkat keterampilan yang dibutuhkan ketika datang untuk algoritma, dan struktur data. Misalnya, menerapkan algoritme Ukkonen dalam perakitan kemungkinan besar, tetapi tidak harus, berarti Anda ingin pemahaman tingkat master tentang algoritme dan struktur data yang terlibat.
Dalam situasi spesifik Anda, beralih dari latar belakang pengembangan Java ke mengerjakan IO, semua hal lain dianggap sama, mengharapkan permintaan yang sedikit lebih tinggi pada pemahaman umum Anda tentang algoritma dan struktur data. Anda ingin dapat berjalan secara efisien di perangkat dengan sumber daya yang tersedia lebih sedikit. Juga, berharap untuk menambahkan beberapa kategori baru ke gudang senjata Anda - terutama, Anda ingin tahu lebih banyak tentang manajemen memori.