JavaRush /Java Blogu /Random-AZ /Kitabın icmalı: “Java Data Structures and Alqoritmləri”, ...

Kitabın icmalı: “Java Data Structures and Alqoritmləri”, Robert Laforet

Qrupda dərc edilmişdir
Hər bir proqramçının gücü onun biliyindədir. Bəli, google-da yaxşı işləmək bacarığı da sonuncu yerdə deyil, lakin buna baxmayaraq, tərtibatçının düşüncə tərzinin formalaşdığı müəyyən miqdarda bilik olmalıdır. Bu bilik nə qədər dərin olsa, proqramçı bir o qədər maraqlı həllər tapa bilər. Kitabın icmalı: “Java Data Structures and Alqoritmləri”, Robert Laforet - 1Belə bir “əsas”ın hissələrindən biri məlumat strukturları və alqoritmlərdir. Bu istiqamətdə biliklərinizi necə genişləndirə bilərsiniz? Bir seçim olaraq, bilikləri odadavamlı bir ehtiyat və gələcək öyrənmə üçün təməl olacaq bir kitab tapın. Mənim üçün belə bir kitab Robert Laforetin “Java Data Structures and Alqoritmləri” kitabı idi .Kitabın icmalı: “Java Data Structures and Alqoritmləri”, Robert Laforet - 2

Kimin üçün

Bu kitabın auditoriyası çox geniş insanlar ola bilər, çünki o, həm Java dilinin sintaksisini yenicə mənimsəmişlər , həm də praktik proqramçılar üçün məlumat strukturlarının və alqoritmlərinin xüsusiyyətlərini daha dərindən başa düşmək üçün faydalı olacaqdır. .

Nə haqqında

Bu kitab proqramlaşdırmada verilənlər strukturlarının və alqoritmlərinin öyrənilməsinə və istifadəsinə həsr edilmişdir. O, oxucuya verilənlər strukturlarının verilənlərin yaddaşda necə təşkil olunduğunu və alqoritmlərin bu strukturlar üzərində müxtəlif əməliyyatları necə yerinə yetirdiyini öyrədəcək. Gəlin bir az da dərinləşək və görək bu kitab nədən bəhs edir:
  1. Massivlər. Massivlərdə və sıralanmış massivlərdə daxil etmə, axtarış və silmə əməliyyatları ətraflı şəkildə əhatə olunur. Sıralı və nizamsız massivlər üçün xətti və ikili axtarışın işini nümayiş etdirir. Siz həmçinin O-sintaksisinin nə olduğunu öyrənəcəksiniz.
  2. Çeşidləmə. Üç sadə çeşidləmə üsulu nəzərdən keçirilir: “baloncuk çeşidləmə”, “seçmə çeşidləmə”, “daxiletmə çeşidi”. Kitabdan hansının ən yavaş, hansının ən sadə olduğunu öyrənəcəksiniz.
  3. Yığınlar və növbələr. Yığın, növbə və prioritet növbə kimi məlumat strukturları, onların effektivliyi və Java-da tətbiqi nəzərdən keçirilir.
  4. Əlaqədar siyahılar. Kitabda ikiqat əlaqəli və iki istiqamətli siyahılar, onların effektivliyi və daxiletmə, axtarış və silmə əməliyyatlarının necə yerinə yetirildiyi haqqında danışılır. İteratorlar və onların tələb etdiyi üsullar da əhatə olunur.
  5. Rekursiyalar. Rekursiyalar müxtəlif situasiyalarda nəzərdən keçirilir, məsələn: üçbucaqlı ədədlərin və faktorialların hesablanması, anaqramların qurulması, rekursiv ikili axtarışın həyata keçirilməsi, Hanoy qalası tapmacasının həlli, birləşmə çeşidinin həyata keçirilməsi, çanta probleminin həlli.
  6. Qeyri-trivial çeşidləmələr. Daha təkmil üsullar nəzərdən keçirilir: Shell sort, fast sort və radix sort, onların alqoritmləri, səmərəliliyi.
  7. İkili ağaclar. Balanslaşdırılmış binar axtarış ağacları, necə işlədikləri, daxil etmə və silmə əməliyyatları, müxtəlif növ keçidlər, minimum və maksimum axtarışı, davamçı axtarışı nəzərdən keçirilir. Huffman kodeksi də əhatə olunacaq.
  8. Qırmızı və qara ağaclar. Biz balanslaşdırılmış ağacların ən təsirli növlərindən birini, onların fırlanma və balanslaşdırma üçün zəruri olan rəng dəyişdirmə əməliyyatlarını hesab edirik.
  9. Ağaclar 2-3-4. Bu tip ağaclar çoxyollu ağaclara misal olaraq təsvir edilir, onların işləməsi və xarici məlumatların saxlanması üçün istifadə olunan B-ağacları ilə əlaqəsi müzakirə olunur.
  10. Hash cədvəlləri. Hashing və onun müxtəlif üsulları, məsələn, xətti və kvadratik zondlama, ikiqat hashing və zəncirləmə metodu əhatə olunur. Xarici fayl yaddaşını təşkil etmək üçün hashing-in necə istifadə oluna biləcəyini də öyrənə bilərsiniz.
  11. Piramidalar. Bu, prioritet növbələri səmərəli şəkildə həyata keçirmək üçün istifadə edilən xüsusi bir ağac növüdür. Kitabda daxiletmə, silmə və yenidən təşkil etmənin işləmə mexanizmləri müzakirə olunur. Siz həmçinin piramidal permutasiyanın nə olduğunu və onun Java-da necə həyata keçirilə biləcəyini öyrənəcəksiniz.
  12. Qrafiklər. Çəkili və çəkilməmiş qrafiklər, onların axtarışı üçün alqoritmlər və ən qısa keçid yollarını tapmaq üçün istifadə olunan alqoritmlər təqdim olunur.
Daha aydınlıq üçün, hər bir fəsil sözügedən məlumat strukturunun öz tətbiqini təmin edir. Məsələn, əgər bu tək əlaqəli siyahıdırsa, təsvir olunan funksionallığı həyata keçirən bir sinif nümunəsi veriləcəkdir. Kitabın son fəsli, əvvəlki fəsillərdən əldə edilən biliklərə əsaslanaraq, bütün bilikləri bir şəkilə toplamağa başlayır. Məsələn, hansı vəziyyətdə hansı məlumat strukturundan istifadə edəcəyiniz barədə aydın şəkildə fikir formalaşdıra biləcəksiniz: Kitab icmalı: “Java Data Structures and Alqoritmləri”, Robert Laforet - 3Hər bir fəslin sonunda kiçik məşqlər də var. Onlardan bəziləri Workshop proqramı ilə işlər görür , digərləri isə birbaşa kodda sizə kiçik tapşırıqlar verir.

Workshop proqramları nədir

Bu strukturları və alqoritmləri nümayiş etdirmək üçün seminar proqramlarından istifadə olunur . Proqramlar brauzerdə işlədilə bilən Java proqramları kimi tərtib edilmişdir. Seminar proqramları alqoritmin və ya verilənlər strukturunun necə işlədiyini göstərən qrafik diaqramlar yaradır. Məsələn, artan qaydada sıralanmış sütunları göstərmək üçün nəzərdə tutulmuş bir proqramda hər dəfə histoqramda düyməni basdığınız zaman növbəti addım yerinə yetiriləcək. Bu halda, bu alqoritmdə iştirak edən dəyişənlərin dəyərləri göstəriləcək ki, kodun necə icra olunduğunu görə biləsiniz (saxtalayıcının təsvirini xatırladır , elə deyilmi?).

Workshop-u necə yükləmək və quraşdırmaq olar

  1. Siz appletləri buradan yükləyə bilərsiniz . Рецензия на книгу: «Структуры данных и алгоритмы Java», Роберт Лафоре - 4
  2. WorkshopApplets.ZIP üzərinə klikləyin və arxivi appletlərlə yükləyin.
  3. Apletləri başa düşmək üçün bu mövzunu və ona verilən şərhləri oxuya bilərsiniz .

Kitabın müsbət tərəfləri

  • oxumaq çox asandır, bir çox nümunə demək olar ki, "barmaqlarınızda" izah olunur;
  • mürəkkəb riyazi düsturlardan istifadə etmədən gözlərinizi bir çox “klassik” şeylərə açır. Demək olar ki, onlarsız :)
  • Nümunələr Java-da olsa da, kodda baş verən hərəkətlər aşağıdakı mətn və koddakı şərhlərlə çox ətraflı izah olunur. Buna görə də, onu istənilən proqramlaşdırma dilinin istifadəçisi oxuya bilər, çünki kod nümunələri olduqca sadədir: demək olar ki, psevdokod kimi oxuyurlar.

Kitabın mənfi cəhətləri

  • “Barmaqlarda” izahına baxmayaraq, orada boşluqlar var. Massivlərin çeşidlənməsini izah etmək üçün müəllif futbol komandasının şəklini çəkir, lakin orada Shell çeşidlənməsi praktiki olaraq təsvir olunmur: Mən bunu başa düşə bilmədim və internetdə oxuya bilmədim;
  • Adətən şəkillərdə və ya cədvəllərdə yazı səhvləri ola bilər;
  • bəzi kodlar olduqca köhnəlmişdir.

Analoqlar

Bu kitabın analoqlarını və ya ondan sonrakıları tövsiyə edirəm (təhsilini davam etdirmək istəyənlər üçün):
  • Robert Sedgwick tərəfindən "Java-da alqoritmlər";
  • Tomas Kormen tərəfindən "Alqoritmlər: Quraşdırma və Təhlil".

Alt xətt

Kitabın mənfi cəhətləri azdır, ona görə də oxumağa dəyər. O, müxtəlif növlər, massivlər, ağaclar, kolleksiyalar, qrafiklər və s. kimi bir çox əsas, fundamental mövzuları aydın şəkildə izah edir. Kitab Java ilə sıx bağlı olmadığından , onu öyrənməkdən əldə edilən bilik bazası digər proqramlaşdırma dillərində faydalı olacaqdır. Olmalı, oxumalısınız - əgər siz tərtibatçısınızsa.Рецензия на книгу: «Структуры данных и алгоритмы Java», Роберт Лафоре - 6
Şərhlər
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION