JavaRush /Java блогы /Random-KK /Кітапқа шолу: «Java деректер құрылымдары мен алгоритмдері...
Константин
Деңгей

Кітапқа шолу: «Java деректер құрылымдары мен алгоритмдері», Роберт Лафорет

Топта жарияланған
Әрбір программисттің күші оның білімінде. Иә, google-ді жақсы іздеу мүмкіндігі де соңғы орында емес, бірақ соған қарамастан әзірлеушінің ойлау тәсілі қалыптасатын белгілі бір білім болуы керек. Бұл білім неғұрлым терең болса, бағдарламашы соғұрлым қызықты шешімдерді таба алады. Кітапқа шолу: «Java деректер құрылымдары мен алгоритмдері», Роберт Лафоре - 1Мұндай «базаның» бөліктерінің бірі деректер құрылымдары мен алгоритмдер болып табылады. Осы бағытта біліміңізді қалай кеңейтуге болады? Опция ретінде, білімі отқа төзімді резерв және одан әрі зерттеу үшін негіз болатын кітапты табыңыз. Мен үшін мұндай кітап Роберт Лафореттің «Java деректер құрылымдары мен алгоритмдері» болды .Кітапқа шолу: «Java деректер құрылымдары мен алгоритмдері», Роберт Лафоре - 2

Кім үшін

Бұл кітаптың аудиториясы өте кең ауқымды адамдар болуы мүмкін, өйткені ол Java тілінің синтаксисін енді ғана игергендер үшін де , тәжірибелік бағдарламашылар үшін де деректер құрылымдары мен алгоритмдерінің мүмкіндіктерін тереңірек түсіну үшін пайдалы болады. .

Не жайлы

Бұл кітап бағдарламалауда деректер құрылымдары мен алгоритмдерін зерттеуге және пайдалануға арналған. Ол оқырманға деректер құрылымдары деректердің жадта ұйымдастырылу жолын қалай анықтайтынын және алгоритмдердің осы құрылымдарда әртүрлі операцияларды қалай орындайтынын үйретеді. Кішкене тереңірек зерттеп, бұл кітаптың не туралы екенін көрейік:
  1. Массивтер. Жиымдардағы және реттелген массивтердегі кірістіру, іздеу және жою әрекеттері егжей-тегжейлі қарастырылады. Реттелген және ретсіз массивтер үшін сызықтық және екілік іздеудің жұмысын көрсетеді. Сонымен қатар сіз O-синтаксисінің не екенін білесіз.
  2. Сұрыптау. Үш қарапайым сұрыптау әдісі қарастырылады: «көпіршікті сұрыптау», «таңдау сұрыптау», «енгізу сұрыптау». Кітаптан сіз қайсысы ең баяу, қайсысы қарапайым екенін білесіз.
  3. Стектер мен кезектер. Стек, кезек және басымдық кезегі сияқты деректер құрылымдары, олардың тиімділігі және Java тілінде іске асыру қарастырылады.
  4. Байланыстырылған тізімдер. Кітапта екі жақты байланыстырылған және екі жақты тізімдер, олардың тиімділігі және кірістіру, іздеу және жою әрекеттері қалай орындалатыны туралы айтылады. Итераторлар және оларға қандай әдістер қажет екені де қарастырылады.
  5. Рекурсиялар. Рекурсиялар әртүрлі жағдайларда қарастырылады, мысалы: үшбұрыш сандары мен факториалдарын есептеу, анаграммаларды құру, рекурсивті екілік іздеуді орындау, Ханой мұнарасын шешу, біріктіру сұрыптауын жүзеге асыру, сөмке мәселесін шешу.
  6. Тривиальды емес сұрыптаулар. Неғұрлым жетілдірілген әдістер қарастырылады: Қабықша сұрыптау, жылдам сұрыптау және радикалды сұрыптау, олардың алгоритмдері, тиімділігі.
  7. Бинарлы ағаштар. Теңгерімделген екілік іздеу ағаштары, олардың қалай жұмыс істейтіні, оларды енгізу және жою операциялары, өтудің әртүрлі түрлері, минимум мен максимум іздеу, мұрагерді іздеу қарастырылады. Хаффман codeексі де қарастырылады.
  8. Қызыл және қара ағаштар. Біз теңдестірілген ағаштардың ең тиімді сорттарының бірін қарастырамыз, олардың айналуы және теңгерімдеу үшін қажетті түсті ауыстыру операциялары.
  9. Ағаштар 2-3-4. Бұл түрдегі ағаштар көп жолды ағаштардың мысалы ретінде сипатталған, олардың жұмысы және сыртқы деректерді сақтау үшін пайдаланылатын В-ағаштарымен байланысы талқыланады.
  10. Хэш кестелері. Хэшинг және оның әртүрлі әдістері, мысалы, сызықтық және квадраттық зондтау, қос хэштеу және тізбектеу әдісі. Сондай-ақ, сыртқы файлдарды сақтауды ұйымдастыру үшін хэшингті қалай пайдалануға болатынын білуге ​​болады.
  11. Пирамидалар. Бұл басым кезектерді тиімді жүзеге асыру үшін қолданылатын ағаштың ерекше түрі. Кітапта кірістіру, жою және қайта реттеу жұмысының механизмдері талқыланады. Сіз сондай-ақ пирамидалық ауыстыру деген не екенін және оны Java тілінде қалай жүзеге асыруға болатынын білесіз.
  12. Графиктер. Салмақталған және өлшенбеген графиктер, олар арқылы іздеу алгоритмдері және ең қысқа өту жолдарын табу үшін қолданылатын алгоритмдер ұсынылған.
Неғұрлым түсінікті болу үшін әрбір тарауда қарастырылып отырған деректер құрылымының өзіндік орындалуы қамтамасыз етіледі. Мысалы, егер бұл жалғыз байланыстырылған тізім болса, сипатталған функционалдылықты жүзеге асыратын сыныптың мысалы беріледі. Кітаптың соңғы тарауы алдыңғы тараулардан алған білімдеріне сүйене отырып, барлық білімді бір суретке жинақтай бастайды. Мысалы, сіз қандай жағдайда қандай деректер құрылымын пайдалану керектігі туралы түсінікті нақты қалыптастыра аласыз: Кітапқа шолу: «Java деректер құрылымдары мен алгоритмдері», Роберт Лафоре - 3Әр тараудың соңында шағын жаттығулар да бар. Олардың кейбіреулері Workshop қолданбасымен жұмыс істеуді қамтиды , ал басқалары сізге codeта тікелей шағын тапсырмалар береді.

Семинар қолданбалары дегеніміз не

Семинар қолданбалары осы құрылымдар мен алгоритмдерді көрсету үшін пайдаланылады . Қолданбалар браузерде іске қосуға болатын Java апплеттері ретінде жасалған. Семинар қолданбалары алгоритм немесе деректер құрылымы қалай жұмыс істейтінін көрсететін графикалық диаграммаларды жасайды. Мысалы, өсу ретімен сұрыпталған бағандарды көрсетуге арналған бір қолданбада гистограммадағы түймені басқан сайын келесі қадам орындалады. Бұл жағдайда codeтың қалай орындалатынын көру үшін осы алгоритмге қатысатын айнымалылардың мәндері көрсетіледі ( отладчик сипаттамасын еске түсіреді , солай ма?).

Workshop қалай жүктеп алуға және орнатуға болады

  1. Апплеттерді осы жерден жүктеп алуға болады . Рецензия на книгу: «Структуры данных и алгоритмы Java», Роберт Лафоре - 4
  2. WorkshopApplets.ZIP түймесін басып , мұрағатты апплеттермен жүктеп алыңыз.
  3. Апплеттерді түсіну үшін осы тақырыпты және оған түсініктемелерді оқуға болады .

Кітаптың жақсы жақтары

  • оқуға өте оңай, көптеген мысалдар дерлік «саусақпен» түсіндіріледі;
  • Күрделі математикалық формулаларды қолданбай, көптеген «классикалық» нәрселерге көзіңізді ашады. Оларсыз дерлік :)
  • Мысалдар Java тілінде болса да, codeта орын алатын әрекеттер келесі мәтінмен және codeтағы түсініктемелермен егжей-тегжейлі түсіндіріледі. Сондықтан оны кез келген бағдарламалау тілінің пайдаланушысы оқи алады, өйткені code мысалдары өте қарапайым: олар псевдоcode сияқты дерлік оқиды.

Кітаптың кемшіліктері

  • «Саусақтарда» деген түсініктемеге қарамастан, онда олқылықтар бар. Массивті сұрыптауды түсіндіру үшін автор футбол командасының суретін салады, бірақ Shell сұрыптауы бұл жерде іс жүзінде сипатталмаған: мен оны түсіне алмадым және бұл туралы Интернеттен оқи алмадым;
  • Әдетте суреттерде немесе кестелерде қателер болуы мүмкін;
  • кейбір code өте ескірген.

Аналогтар

Мен осы кітаптың немесе одан кейінгілердің аналогтарын ұсынамын (оқуды жалғастырғысы келетіндер үшін):
  • Роберт Седгвиктің «Java тіліндегі алгоритмдер»;
  • Томас Корменнің «Алгоритмдер: құрастыру және талдау».

Төменгі сызық

Кітаптың кемшіліктері аз, сондықтан оны оқуға тұрарлық. Ол әртүрлі сұрыптаулар, массивтер, ағаштар, жинақтар, графиктер және т.б. сияқты көптеген негізгі, іргелі тақырыптарды анық түсіндіреді. Кітап Java тіліне қатты байланысты емес болғандықтан , оны оқу нәтижесінде алынған білім базасы басқа бағдарламалау тілдерінде пайдалы болады. Болуы керек, оқуы керек - егер сіз әзірлеуші ​​болсаңыз.Рецензия на книгу: «Структуры данных и алгоритмы Java», Роберт Лафоре - 6
Пікірлер
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION