JavaRush /Java blogi /Random-UZ /Kitob sharhi: "Java ma'lumotlar tuzilmalari va algoritmla...

Kitob sharhi: "Java ma'lumotlar tuzilmalari va algoritmlari", Robert Laforet

Guruhda nashr etilgan
Har bir dasturchining kuchi uning bilimida. Ha, google-ni yaxshi qidirish qobiliyati ham oxirgi o'rinda emas, lekin shunga qaramay, ma'lum miqdordagi bilim bo'lishi kerak, buning asosida ishlab chiquvchining fikrlash tarzi shakllanadi. Ushbu bilim qanchalik chuqurroq bo'lsa, dasturchi shunchalik qiziqarli echimlarni topishi mumkin. Kitob sharhi: "Java ma'lumotlar tuzilmalari va algoritmlari", Robert Laforet - 1Bunday "baza" ning qismlaridan biri ma'lumotlar tuzilmalari va algoritmlardir. Ushbu yo'nalishda bilimingizni qanday kengaytira olasiz? Variant sifatida, bilimlar yong'inga qarshi zaxira va keyingi o'rganish uchun asos bo'ladigan kitobni toping. Men uchun bunday kitob Robert Laforetning "Java ma'lumotlar tuzilmalari va algoritmlari" edi .Kitob sharhi: "Java ma'lumotlar tuzilmalari va algoritmlari", Robert Laforet - 2

Kimdan

Ushbu kitobning auditoriyasi juda keng odamlar bo'lishi mumkin, chunki u Java tilining sintaksisini endigina o'zlashtirganlar uchun ham , amaliyotchi dasturchilar uchun ham ma'lumotlar tuzilmalari va algoritmlarining xususiyatlarini chuqurroq tushunish uchun foydali bo'ladi. .

Nima haqda

Ushbu kitob dasturlashda ma'lumotlar tuzilmalari va algoritmlarini o'rganish va ulardan foydalanishga bag'ishlangan. U o'quvchiga ma'lumotlar tuzilmalari ma'lumotlarning xotirada qanday tashkil etilishini qanday aniqlashini va algoritmlar ushbu tuzilmalar ustida turli operatsiyalarni qanday bajarishini o'rgatadi. Keling, bir oz chuqurroq qazib olaylik va bu kitob aynan nima haqida ekanligini bilib olaylik:
  1. Massivlar. Massivlar va tartiblangan massivlarda kiritish, qidirish va o‘chirish amallari batafsil yoritilgan. Tartibli va tartibsiz massivlarni chiziqli va ikkilik qidiruv ishlarini ko‘rsatadi. O-sintaksisi nima ekanligini ham bilib olasiz.
  2. Tartiblash. Uchta oddiy saralash usuli ko'rib chiqiladi: "qabariqcha tartiblash", "tanlash saralash", "qo'shish tartibi". Kitobdan qaysi biri eng sekin va qaysi biri oddiy ekanligini bilib olasiz.
  3. Staklar va navbatlar. Stek, navbat va ustuvor navbat kabi ma'lumotlar tuzilmalari, ularning samaradorligi va Java-da amalga oshirilishi ko'rib chiqiladi.
  4. Bog'langan ro'yxatlar. Kitobda ikki marta bog'langan va qo'sh bog'langan ro'yxatlar, ularning samaradorligi va kiritish, qidirish va o'chirish operatsiyalari qanday bajarilishi haqida so'z boradi. Iteratorlar va ular qanday usullarni talab qilishlari ham yoritilgan.
  5. Rekursiyalar. Rekursiyalar turli vaziyatlarda ko'rib chiqiladi, masalan: uchburchak sonlar va faktoriallarni hisoblash, anagrammalarni qurish, rekursiv ikkilik qidiruvni amalga oshirish, Xanoy minorasi jumboqini echish, birlashtirish tartibini amalga oshirish, yukxalta muammosini hal qilish.
  6. Trivial bo'lmagan saralashlar. Yana ilg'or usullar ko'rib chiqiladi: Shell sort, tez saralash va radix sort, ularning algoritmlari, samaradorligi.
  7. Ikkilik daraxtlar. Balanslangan ikkilik qidiruv daraxtlari, ular qanday ishlashi, qo'shish va o'chirish operatsiyalari, turli xil o'tish turlari, minimal va maksimalni qidirish, vorisni qidirish ko'rib chiqiladi. Huffman kodeksi ham qamrab olinadi.
  8. Qizil va qora daraxtlar. Biz muvozanatli daraxtlarning eng samarali navlaridan birini, ularning aylanishi va balanslash uchun zarur bo'lgan ranglarni almashtirish operatsiyalarini ko'rib chiqamiz.
  9. Daraxtlar 2-3-4. Ushbu turdagi daraxtlar ko'p yo'nalishli daraxtlarga misol sifatida tavsiflanadi, ularning ishlashi va tashqi ma'lumotlarni saqlash uchun ishlatiladigan B-daraxtlar bilan aloqasi muhokama qilinadi.
  10. Xesh jadvallari. Xeshlash va uning turli usullari, masalan, chiziqli va kvadratik zondlash, ikki marta xeshlash va zanjirlash usuli yoritilgan. Shuningdek, tashqi fayllarni saqlashni tashkil qilish uchun xeshlashdan qanday foydalanish mumkinligini ham bilib olishingiz mumkin.
  11. Piramidalar. Bu ustuvor navbatlarni samarali amalga oshirish uchun ishlatiladigan daraxtning maxsus turi. Kitobda kiritish, o'chirish va qayta tartibga solishning ishlash mexanizmlari muhokama qilinadi. Shuningdek, siz piramidal almashtirish nima ekanligini va uni Java-da qanday amalga oshirish mumkinligini bilib olasiz.
  12. Grafiklar. Og'irlangan va tortilmagan grafiklar, ular bo'ylab qidirish algoritmlari va eng qisqa o'tish yo'llarini topish uchun ishlatiladigan algoritmlar keltirilgan.
Aniqroq bo'lishi uchun har bir bobda ko'rib chiqilayotgan ma'lumotlar tuzilmasi o'ziga xos tarzda amalga oshiriladi. Misol uchun, agar bu bitta bog'langan ro'yxat bo'lsa, tavsiflangan funksiyani amalga oshiradigan sinf misoli beriladi. Kitobning oxirgi bobi, oldingi boblardan olingan bilimlarga asoslanib, barcha bilimlarni bitta rasmga to'plashni boshlaydi. Masalan, siz qaysi vaziyatda qaysi ma'lumotlar strukturasidan foydalanish haqida aniq tasavvur hosil qila olasiz: Kitob sharhi: "Java ma'lumotlar tuzilmalari va algoritmlari", Robert Laforet - 3Har bir bobning oxirida kichik mashqlar ham mavjud. Ulardan ba'zilari Workshop ilovasi bilan ishlarni bajarishni o'z ichiga oladi , boshqalari esa to'g'ridan-to'g'ri kodda kichik vazifalarni beradi.

Workshop ilovalari nima

Ushbu tuzilmalar va algoritmlarni namoyish qilish uchun seminar ilovalari qo'llaniladi . Ilovalar brauzerda ishga tushirilishi mumkin bo'lgan Java ilovalari sifatida yaratilgan. Seminar ilovalari algoritm yoki ma'lumotlar strukturasi qanday ishlashini ko'rsatadigan grafik diagrammalarni yaratadi. Masalan, o'sish tartibida tartiblangan ustunlarni ko'rsatish uchun mo'ljallangan bitta ilovada har safar gistogrammadagi tugmani bosganingizda keyingi qadam bajariladi. Bunday holda, ushbu algoritmga kiritilgan o'zgaruvchilarning qiymatlari ko'rsatiladi, shunda siz kod qanday bajarilishini ko'rishingiz mumkin ( tuzatish vositasi tavsifini eslatadi , to'g'rimi?).

Workshop-ni qanday yuklab olish va o'rnatish kerak

  1. Bu yerda appletlarni yuklab olishingiz mumkin . Рецензия на книгу: «Структуры данных и алгоритмы Java», Роберт Лафоре - 4
  2. WorkshopApplets.ZIP- ni bosing va arxivni appletlar bilan yuklab oling.
  3. Appletlarni tushunish uchun siz ushbu mavzuni va unga sharhlarni o'qishingiz mumkin.

Kitobning ijobiy tomonlari

  • o'qish juda oson, ko'plab misollar deyarli "barmoqlaringizda" tushuntiriladi;
  • murakkab matematik formulalardan foydalanmasdan, ko'p "klassik" narsalarga ko'zingizni ochadi. Xo'sh, deyarli ularsiz :)
  • Misollar Java-da bo'lsa-da, kodda sodir bo'ladigan harakatlar quyidagi matn va koddagi izohlar bilan batafsil tushuntiriladi. Shuning uchun, uni har qanday dasturlash tili foydalanuvchisi o'qishi mumkin, chunki kod misollari juda oddiy: ular deyarli psevdokod kabi o'qiydilar.

Kitobning kamchiliklari

  • "Barmoqlarda" tushuntirishga qaramasdan, unda bo'shliqlar mavjud. Massivlarni saralashni tushuntirish uchun muallif futbol jamoasining rasmini chizadi, lekin u erda Shell saralash amalda tasvirlanmagan: men buni tushunolmadim va bu haqda Internetda o'qiy olmadim;
  • Odatda rasmlar yoki jadvallarda matn terish xatolari bo'lishi mumkin;
  • ba'zi kodlar juda eskirgan.

Analoglar

Men ushbu kitobning analoglarini yoki undan keyingi kitoblarni tavsiya qilaman (o'qishni davom ettirmoqchi bo'lganlar uchun):
  • Robert Sedgwick tomonidan "Javadagi algoritmlar";
  • Tomas Kormen tomonidan "Algoritmlar: qurish va tahlil".

Pastki chiziq

Kitobning kamchiliklari bor, shuning uchun uni o'qishga arziydi. U ko'plab asosiy, asosiy mavzularni, masalan, turli xil navlar, massivlar, daraxtlar, to'plamlar, grafiklar va boshqalarni aniq tushuntiradi. Kitob Java bilan qattiq bog'lanmaganligi sababli , uni o'rganish natijasida olingan bilimlar bazasi boshqa dasturlash tillarida foydali bo'ladi. Bo'lishi kerak, o'qish kerak - agar siz dasturchi bo'lsangiz.Рецензия на книгу: «Структуры данных и алгоритмы Java», Роберт Лафоре - 6
Izohlar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION