JavaRush /Java блогу /Random-KY /Китепти карап чыгуу: "Java маалымат структуралары жана ал...
Константин
Деңгээл

Китепти карап чыгуу: "Java маалымат структуралары жана алгоритмдери", Роберт Лафорет

Группада жарыяланган
Ар бир программисттин күчү анын бorминде. Ооба, Google'ду жакшы издөө жөндөмү да акыркы орунда эмес, бирок ошого карабастан, белгилүү бир бorм болушу керек, анын негизинде иштеп чыгуучунун ой жүгүртүүсү калыптанат. Бул бorм канчалык терең болсо, программист ошончолук кызыктуу чечимдерди таба алат. Китепке сереп салуу: "Java маалымат структуралары жана алгоритмдери", Роберт Лафорет - 1Мындай "базанын" бөлүктөрүнүн бири маалымат структуралары жана алгоритмдер. Бул багытта бorмиңизди кантип кеңейте аласыз? Вариант катары, китепти табыңыз, андан бorм отко чыдамдуу резерв жана андан ары изилдөө үчүн негиз болуп калат. Мен үчүн, мындай китеп Роберт Laforet тарабынан "Java маалымат структуралары жана алгоритмдер" болгон .Китепке сереп салуу: "Java маалымат структуралары жана алгоритмдери", Роберт Лафорет - 2

Ким үчүн

Бул китептин аудиториясы адамдардын абдан кеңири чөйрөсү болушу мүмкүн, анткени ал Java тorнин синтаксисин жаңыдан өздөштүргөндөр үчүн да , практикалык программисттер үчүн да, маалымат структураларынын жана алгоритмдердин өзгөчөлүктөрүн тереңирээк түшүнүү үчүн пайдалуу болот. .

Эмне жонундо

Бул китеп программалоодо маалымат структураларын жана алгоритмдерди изилдөөгө жана колдонууга арналган. Бул окурманга маалымат структуралары маалыматтардын эстутумда уюштурулуш жолун кантип аныктаарын жана алгоритмдер бул структураларда ар кандай операцияларды кантип аткарарын үйрөтөт. Келгиле, бир аз тереңирээк казып көрөлү жана бул китеп эмне жөнүндө экенин карап көрөлү:
  1. Массивдер. Массивдерде жана иреттелген массивдерде киргизүү, издөө жана жок кылуу операциялары кеңири камтылган. Тартиптүү жана иретсиз массивдерди сызыктуу жана бинардык издөөнүн иштешин көрсөтөт. Сиз ошондой эле O-синтаксиси эмне экенин биле аласыз.
  2. Сорттоо. Үч жөнөкөй сорттоо ыкмасы каралат: “көбүктү сорттоо”, “тандоо сорттоо”, “киргизүү сорттоо”. Китептен сиз кайсынысы эң жай, кайсынысы эң жөнөкөй экенин билесиз.
  3. Стектер жана кезектер. Стек, кезек жана артыкчылык кезеги сыяктуу маалымат структуралары, алардын эффективдүүлүгү жана Javaда ишке ашыруу каралат.
  4. Байланышкан тизмелер. Китепте кош байланышкан жана эки багыттуу тизмелер, алардын эффективдүүлүгү жана киргизүү, издөө жана жок кылуу операциялары кандай аткарылары жөнүндө сөз болот. Итераторлор жана алар кандай ыкмаларды талап кылаары да камтылган.
  5. Рекурсиялар. Рекурсиялар ар кандай кырдаалдарда каралат, мисалы: үч бурчтук сандарды жана факториалдарды эсептөө, анаграммаларды куруу, рекурсивдүү бинардык издөөнү аткаруу, Ханой мунарасы баш катырмасын чечүү, бириктирүү сортторун ишке ашыруу, сумка маселесин чечүү.
  6. Нетривиалдуу сорттоо. Өркүндөтүлгөн ыкмалар каралат: Shell сорттоо, тез сорттоо жана радикалдуу сорттоо, алардын алгоритмдери, эффективдүүлүгү.
  7. Бинардык дарактар. Балансталган бинардык издөө дарактары каралат, алар кантип иштешет, аларды киргизүү жана жок кылуу операциялары, өтүүнүн ар кандай түрлөрү, минимум жана максимум издөө, мураскерди издөө. Хаффман codeекси да камтылган.
  8. Кызыл жана кара дарактар. Биз салмактуу бак-дарактардын эң эффективдүү сортторун, алардын айлануу жана түсүн алмаштыруу операцияларын баланстоо үчүн зарыл деп эсептейбиз.
  9. Дарактар ​​2-3-4. Бул типтеги дарактар ​​көп жолдуу дарактардын мисалы катары сүрөттөлөт, алардын иштеши жана тышкы маалыматтарды сактоо үчүн колдонулган В-дарактар ​​менен байланышы талкууланат.
  10. Хеш tableлары. Хешинг жана анын ар кандай ыкмалары, мисалы, сызыктуу жана квадраттык orктөө, кош хэширлөө жана чынжырлоо ыкмасы камтылган. Сиз ошондой эле тышкы файл сактагычын уюштуруу үчүн хэшингди кантип колдонсо болорун биле аласыз.
  11. Пирамидалар. Бул артыкчылыктуу кезектерди натыйжалуу ишке ашыруу үчүн колдонулган дарактын өзгөчө түрү. Китепте киргизүү, жок кылуу жана кайра уюштуруу механизмдери талкууланат. Сиз ошондой эле пирамидалык алмаштыруу деген эмне экенин жана аны Javaда кантип ишке ашырууга болорун биле аласыз.
  12. Графиктер. Салмактуу жана салмаксыз графиктер, алар аркылуу издөө алгоритмдери жана эң кыска өтүү жолдорун табуу үчүн колдонулган алгоритмдер берилген.
Көбүрөөк түшүнүктүү болушу үчүн, ар бир бөлүм каралып жаткан маалымат структурасынын өзүнүн ишке ашырылышын камсыз кылат. Мисалы, эгерде бул жалгыз шилтемеленген тизме болсо, сүрөттөлгөн функцияны ишке ашырган класстын мисалы берилет. Китептин акыркы бөлүмүндө мурунку бөлүмдөрдөн алынган бorмдерге таянып, бардык бorмдерди бир сүрөткө чогулта баштайт. Мисалы, сиз кайсы кырдаалда кайсы маалымат түзүмүн колдонуу керектиги жөнүндө түшүнүктү түзө аласыз: Китепке сереп салуу: "Java маалымат структуралары жана алгоритмдери", Роберт Лафорет - 3Ар бир бөлүмдүн аягында чакан көнүгүүлөр да бар. Алардын айрымдары Workshop колдонмосу менен иштерди жасоону камтыйт , ал эми башкалары сизге түздөн-түз codeдо кичинекей тапшырмаларды беришет.

Семинар колдонмолору деген эмне

Семинар колдонмолору бул структураларды жана алгоритмдерди көрсөтүү үчүн колдонулат . Тиркемелер браузерде иштей турган Java апплеттери катары иштелип чыккан. Семинардын тиркемелери алгоритмдин же маалымат структурасынын кантип иштээрин көрсөткөн графикалык диаграммаларды түзөт. Мисалы, өсүү тартибинде иреттелген мамычаларды көрсөтүү үчүн иштелип чыккан бир тиркемеде гистограммадагы баскычты басканда, кийинки кадам аткарылат. Бул учурда, бул алгоритмге катышкан өзгөрмөлөрдүн маанилери көрсөтүлөт, ошондуктан сиз codeдун кандайча аткарылып жатканын көрө аласыз (дебггердин сүрөттөмөсүн эске салат , туурабы?).

Workshop кантип жүктөө жана орнотуу керек

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

Китептин жакшы жактары

  • окууга абдан жеңил, көптөгөн мисалдар дээрлик "бармактарыңызда" түшүндүрүлөт;
  • татаал математикалык формулаларды колдонбостон, көптөгөн "классикалык" нерселерге көзүңүздү ачат. Ооба, дээрлик аларсыз :)
  • Мисалдар Java тorнде болсо да, codeдо болгон иш-аракеттер төмөнкү текст жана codeдогу комментарийлер менен кеңири түшүндүрүлөт. Ошондуктан, аны каалаган программалоо тorнин колдонуучусу окуй алат, анткени code мисалдары абдан жөнөкөй: алар дээрлик псевдоcode сыяктуу окушат.

Китептин терс жактары

  • «Бармактарда» деген түшүндүрмөлөргө карабастан, анда боштуктар бар. Массивди сорттоону түшүндүрүү үчүн автор футбол командасынын сүрөтүн тартат, бирок Shell сорттоо ал жерде дээрлик сүрөттөлбөйт: мен аны түшүнө албай, интернеттен окуй албадым;
  • Адатта сүрөттөрдө же tableларда каталар болушу мүмкүн;
  • кээ бир code абдан эскирген.

Аналогдор

Мен бул китептин аналогдорун же андан кийинкилерди сунуштайм (окууну улантууну каалагандар үчүн):
  • Роберт Седгвик тарабынан «Явадагы алгоритмдер»;
  • Томас Кормендин "Алгоритмдер: куруу жана анализи".

Төмөнкү сызык

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