Saya mengambil kursus kedua saya di Jawa. Kami memasuki struktur data. Saya telah melakukan tugas pada daftar tertaut, dan sekarang tumpukan. Saya mengalami kesulitan dengan daftar tertaut. Tumpukan memberi saya sedikit masalah, tetapi jauh lebih mudah.
Haruskah saya khawatir mengalami kesulitan dengan algoritma dan struktur data ini? Aku hanya merasa seperti aku tidak benar-benar menangkapnya.
algorithms
data-structures
Bangsat
sumber
sumber
Jawaban:
Saya pikir, Anda tidak boleh menerima tidak memahami hal-hal ini, karena mereka benar-benar mendasar. Yang sedang berkata, Anda tidak memahami mereka tidak ada yang merasa buruk. Anda dapat menjelaskan daftar yang ditautkan kepada seorang anak. Jadi jika guru Anda gagal menjelaskannya kepada Anda, itu juga kesalahan mereka. Jadi Anda tidak perlu menghabiskan waktu untuk mengkhawatirkan, tetapi cobalah untuk menemukan orang, yang dapat menjelaskannya kepada Anda. Seringkali sesama siswa adalah guru yang jauh lebih baik daripada akademik penuh waktu.
Pikirkan Kereta
Bayangkan, Anda memiliki seperangkat gerbong kereta api, di mana setiap gerbong memiliki kapasitas yang cukup, untuk memuat satu data. Setiap gerbong memiliki semacam kait di ujungnya, yang dapat dipasang ke bagian depan gerbong lain.
Ini sebenarnya memberi Anda daftar tertaut:
Berbeda dengan itu, Anda bisa menganggap array sebagai kereta dengan jumlah gerbong tertentu, yang tidak dapat diatur ulang dengan cara apa pun. Yang dapat Anda lakukan adalah mengubah data di dalamnya. Model ini juga menjelaskan banyak masalah yang dimiliki array:
Adapun tumpukan: "Tumpukan" kurang struktur data, dari sebuah ide. Gagasan stack adalah, ia berfungsi seperti tumpukan buku. Anda hanya dapat meletakkan buku di atas tumpukan dan Anda hanya dapat mengambil buku teratas dari tumpukan (setidaknya jika buku-buku tersebut cukup berat).
Yang sedang berkata, daftar tertaut dapat digunakan sebagai tumpukan, jika Anda menganggap data di kereta sebagai buku, dan buku di kereta paling pertama sebagai bagian atas tumpukan.
Jadi saya harap ini membantu Anda. Mungkin tidak. Mungkin Anda lebih dari tipe visual. Dalam hal ini, saya sarankan Anda menemukan seseorang, yang pandai memberikan penjelasan visual dan menjelaskannya kepada Anda. Tidak akan butuh waktu lama, tetapi itu benar-benar layak.
Tidak apa-apa untuk berjuang dengan ini sekarang. Tetapi hanya menerimanya, bukanlah pilihan dalam jangka panjang.
sumber
Saya tidak akan mengatakan bahwa Anda "harus khawatir" tentang hal itu, tetapi fakta sederhana bahwa Anda mengakui kelemahan Anda menunjukkan bahwa Anda tahu persis di mana belajar lebih keras. Saya pikir Anda akan dilayani dengan baik oleh sikap itu dan akan baik-baik saja dalam jangka panjang.
sumber
Mengutip guru CSCI favorit saya:
Struktur Data terdengar sulit, bukan? Bagi saya, itu terdengar abstrak dan agak rumit dan yang terpenting ... penting!
Struktur Data adalah program yang vital. Dan merupakan hal biasa untuk berjuang, tetapi teruskan! Selama Anda makan Wheaties Anda dan terus melakukannya, Anda akan mencapai pelangi dengan
bag
diisi dengan digeneric items
bawahnya.sumber
Poin yang sangat bagus dalam jawaban lain, hanya satu catatan untuk ditambahkan: Daftar tertaut IMO mungkin lebih sulit daripada misalnya tumpukan untuk banyak orang karena mereka membangun berdasarkan tipuan (diungkapkan melalui referensi / petunjuk ). Dan konsep yang mendasari ini mungkin sulit untuk dipahami .
sumber
Struktur Data adalah kelas "sulit" pertama yang saya ambil; kami menggunakan Fortran 77 bukan Jawa, tetapi konsepnya sebagian besar sama.
Butuh seminggu lebih lama dari teman sekelasku untuk memahami konsep daftar tertaut; Saya membesar-besarkan tugas, tetapi setelah beberapa sesi yang sedikit membuat frustrasi dengan profesor saya, akhirnya diklik (secara harfiah; saya mendengar "klik" di kepala saya ketika saya akhirnya mengerti).
Setiap orang memiliki masalah di suatu tempat dalam kurikulum CS mereka (kecuali mereka aneh). Jika Anda mengerti di mana kelemahan Anda dan bagaimana mengatasinya, Anda benar-benar tidak perlu khawatir.
sumber
Apakah Anda mengalami kesulitan memahami daftar tertaut, atau hanya masalah dengan implementasi Anda?
Bukan hal yang aneh bagi seorang programmer baru untuk mengalami kesulitan di sana, karena mungkin ini adalah pertama kalinya Anda harus berpikir tentang apa sebenarnya artinya ketika Anda menulis:
Saya mendapatkan semua diputar di ALGOL / W pada latihan yang sama, karena saya tidak mengerti semantik bahasa. Setahun kemudian, saya hampir tidak bisa mengingat mengapa saya mengalami kesulitan.
sumber
Ada pasti ada beberapa bidang pengembangan perangkat lunak yang Anda temukan lebih sulit daripada yang lain. Apakah itu algoritma tertentu, atau pola desain tertentu atau prosedur tertentu akan berbeda dari orang ke orang. Saya menemukan bahwa saya harus menggunakan sesuatu pada program nyata sebelum saya sepenuhnya memahaminya.
Saya akan lebih khawatir jika seseorang mengklaim mengetahui semuanya dan tidak pernah mengalami masalah dalam mempelajari sesuatu.
Secara pribadi saya sepertinya tidak pernah memiliki masalah dengan daftar yang ditautkan, tetapi kemudian saya bekerja pada sebuah program selama 8 tahun yang menggunakannya di mana - mana sehingga saya bekerja dengan mereka setiap hari. Selama Anda tahu di mana menemukan informasi yang Anda butuhkan untuk menyegarkan ingatan Anda dan mengetahui area di mana Anda memiliki "masalah" Anda harus baik-baik saja.
sumber
Saya mengalami masalah dengan kalkulus dan harus melakukannya untuk kedua kalinya. Kedua kalinya saya menemukan saya cerdas tetapi guru matematika pertama pada dasarnya tidak berguna :)
Anda akan menemukan banyak orang di bidang TI yang tidak dapat berkomunikasi dengan baik, bahkan para guru. Di sisi lain beberapa orang di IT benar-benar penulis hebat dan ahli komunikasi.
Kadang-kadang membaca di luar bisa sangat membantu. Buku komputer sangat bervariasi kualitasnya. Dapatkan di Amazon dan lihat buku apa yang disukai orang sebenarnya.
Semoga berhasil.
sumber