CodeGym /Java Blog /Random /Coding Skills LevelUp, Part 2. Saan Matututo Tungkol sa A...
John Squirrels
Antas
San Francisco

Coding Skills LevelUp, Part 2. Saan Matututo Tungkol sa Algorithms

Nai-publish sa grupo
Ang pagpapatuloy ng aming serye ng mga piraso tungkol sa mga karagdagang paksang nauugnay sa programming na hindi bahagi ng kurso ng CodeGym, na may mga link at rekomendasyon kung saan mo matututuhan ang mga ito. Ngayon ay pag-uusapan natin ang tungkol sa mga algorithm. Coding Skills LevelUp, Part 2. Where to Learn About Algorithms - 1

Ano ang algorithm

Ang isang algorithm per se ay hindi hihigit sa isang hakbang-hakbang na resibo para sa paglutas ng isang problema. Ang karamihan ng mga algorithm na ginagamit sa programming sa mga araw na ito ay natuklasan na, nasubok, at napatunayan na. Ang mga algorithm sa Java ay mga static na pamamaraan na ginagamit upang magsagawa ng iba't ibang mga operasyon sa mga koleksyon. Kung ang mga istruktura ng data ay ginagamit ng mga programmer ng Java upang mag-imbak at mag-ayos ng data, ginagamit ang mga algorithm upang manipulahin ang data sa mga istrukturang iyon. Kaya't ang dalawang paksang ito ay nakatali sa isa't isa, at ang pag-unawa sa kung paano sila nagtutulungan ay lubos na mahalaga at maaaring gawing mas mahusay ang iyong Java coding. Maaaring ilapat ang mga algorithm sa anumang programming language, at karaniwang inaasahang alam ng mga makapangyarihang programmer ang hindi bababa sa mga pangunahing kaalaman ng paksang ito, pati na rin ang pag-alam kung paano i-convert ang mga algorithm sa code sa programming language na ginagamit nila.

Mga aklat tungkol sa mga algorithm

  1. Mga Structure ng Data at Algorithm Made Easy ni Narasimha Karumanchi.

    Isa sa mga pinakamahusay na aklat-aralin para sa mga nagsisimula sa mga algorithm (at istruktura ng data). Ang 'Data Structures And Algorithms Made Easy: Data Structures and Algorithmic Puzzles' ay isang aklat na nag-aalok ng mga solusyon sa mga kumplikadong istruktura at algorithm ng data. Mayroong maraming mga solusyon para sa bawat problema, at ang aklat ay naka-code sa C/C++. Maaari mong gamitin ang isang ito bilang gabay upang maghanda para sa mga panayam, pagsusulit, at gawain sa campus.

  2. Grokking Algorithms ni Aditya Bhargava.

    Ang 'Grokking Algorithms' ay isa pang madaling maunawaan, ganap na isinalarawan, at nakasulat sa isang magiliw na gabay sa tono na nagtuturo sa iyo kung paano ilapat ang mga karaniwang algorithm sa mga praktikal na problemang kinakaharap mo araw-araw bilang isang programmer. Magsisimula ka sa pag-uuri at paghahanap at, habang pinapalaki mo ang iyong mga kasanayan sa pag-iisip ayon sa algorithm, haharapin mo ang mas kumplikadong mga alalahanin tulad ng data compression at artificial intelligence. Kasama sa bawat halimbawa ang mga diagram at ganap na na-annotate na mga sample ng code sa Python.

  3. Na-unlock ang Algorithm ni Thomas Cormen.

    Isang libro sa mga pangunahing kaalaman ng mga algorithm para sa mga nagsisimula at propesyonal sa coding na gustong palawakin ang kanilang kaalaman sa paksa, sa pagkakataong ito ay isinulat bilang isang aklat-aralin sa kolehiyo para sa mga mag-aaral ng MIT.

    "Matututuhan ng mga mambabasa kung ano ang mga algorithm ng computer, kung paano ilarawan ang mga ito, at kung paano suriin ang mga ito. Matutuklasan nila ang mga simpleng paraan upang maghanap ng impormasyon sa isang computer; mga pamamaraan para sa muling pagsasaayos ng impormasyon sa isang computer sa isang iniresetang order (“pagbubukod-bukod”); kung paano lutasin ang mga pangunahing problema na maaaring i-modelo sa isang computer na may istrukturang matematikal na tinatawag na "graph" (kapaki-pakinabang para sa pagmomodelo ng mga network ng kalsada, mga dependency sa mga gawain, at mga relasyon sa pananalapi); kung paano lutasin ang mga problema na nagtatanong tungkol sa mga string ng mga character tulad ng mga istruktura ng DNA; ang mga pangunahing prinsipyo sa likod ng cryptography; batayan ng data compression; at kahit na may ilang mga problema na walang sinuman ang nakaisip kung paano lutasin sa isang computer sa isang makatwirang tagal ng panahon, "sabi ng may-akda ng aklat.

  4. Mga Structure ng Data at Algorithms sa Java ni Robert Lafore.

    At narito ang isang aklat-aralin na partikular na nakatuon sa Java. Bukod sa malinaw at simpleng mga halimbawang programa, idinagdag ni Robert Lafore sa aklat ang isang workshop bilang isang maliit na demonstration program na maipapatupad sa isang web browser. Ipinapakita ng mga programa sa graphical na anyo kung ano ang hitsura ng mga istruktura ng data at kung paano gumagana ang mga ito.

    Ang mga iminungkahing solusyon sa mga proyekto sa programming na makikita sa dulo ng bawat kabanata ay ginawang magagamit sa mga instruktor sa mga kinikilalang institusyong pang-edukasyon. Ang pang-edukasyon na suplemento sa aklat-aralin ay matatagpuan sa pearson.com , sa Instructor Resource Center.

  5. Hello World: Being Human in the Age of Algorithms ni Hannah Fry.

    Ang 'Hello World: Being Human in the Age of Algorithms' ni Hannah Fry ay isang medyo kawili-wiling libro na tumitingin sa mga algorithm mula sa isang bahagyang naiibang pananaw. Inilalarawan ng may-akda ang mga tunay na kapangyarihan at limitasyon ng mga algorithm na nag-automate na ng mahahalagang desisyon sa pangangalagang pangkalusugan, transportasyon, krimen, at komersiyo.

Mga online na kurso sa mga algorithm

  1. Algorithms, Part I , Part II ng Princeton University sa pamamagitan ng Coursera.

    Isang napakahusay na ganap na libreng kurso mula sa Princeton. Sinasaklaw nito ang mahahalagang impormasyon na kailangang malaman ng bawat seryosong programmer tungkol sa mga algorithm at istruktura ng data, na may diin sa mga aplikasyon at siyentipikong pagsusuri sa pagganap ng mga pagpapatupad ng Java. Sinasaklaw ng Bahagi I ang mga istruktura ng elementarya ng data, pag-uuri, at mga algorithm sa paghahanap. Nakatuon ang Bahagi II sa mga graph- at string-processing algorithm. Ang kurso ay hindi nag-aalok ng sertipiko pagkatapos makumpleto.

  2. Data Structures and Algorithms Specialization Program ng UC San Diego sa pamamagitan ng Coursera.

    Isa pang kagalang-galang na programa ng kurso sa mga algorithm at istruktura ng data na inaalok ng University of California, San Diego at National Research Institute Higher School of Economics. Ang espesyalisasyon na ito ay pinaghalong teorya at kasanayan: matututo ka ng mga algorithmic technique para sa paglutas ng iba't ibang computational na problema at magpapatupad ng humigit-kumulang 100 algorithmic coding na problema sa isang programming language na gusto mo.

    "Walang ibang online na kurso sa Algorithms na malapit sa pag-aalok sa iyo ng maraming hamon sa programming na maaari mong harapin sa iyong susunod na pakikipanayam sa trabaho. Para ihanda ka, nag-invest kami ng mahigit 3000 oras sa pagdidisenyo ng aming mga hamon bilang alternatibo sa maramihang pagpipiliang tanong na karaniwan mong makikita sa mga MOOC. Paumanhin, hindi kami naniniwala sa maraming pagpipiliang tanong pagdating sa pag-aaral ng mga algorithm...o anumang bagay sa computer science! Para sa bawat algorithm na iyong binuo at ipinapatupad, nagdisenyo kami ng maraming pagsubok upang suriin ang kawastuhan at oras ng pagpapatakbo nito — kakailanganin mong i-debug ang iyong mga program nang hindi nalalaman kung ano ang mga pagsubok na ito! Maaaring mahirap ito, ngunit naniniwala kami na ito ang tanging paraan upang tunay na maunawaan kung paano gumagana ang mga algorithm at upang makabisado ang sining ng programming, "sabi ng mga may-akda ng kurso.

  3. Espesyalisasyon ng Algorithm ng Stanford University sa pamamagitan ng Coursera.

    At ang ikatlong kilalang-kilalang libreng kurso ng algorithm mula sa isang kagalang-galang na uni, ang Stanford University sa pagkakataong ito. Ang kursong ito ay isang panimula sa mga algorithm para sa mga mag-aaral na may kahit kaunting karanasan sa programming. Ang mga mag-aaral ay magsasanay at makabisado ang mga pangunahing kaalaman ng mga algorithm sa pamamagitan ng ilang uri ng mga pagtatasa. Bawat linggo, mayroong maraming pagpipiliang pagsusulit upang subukan ang iyong pag-unawa sa pinakamahalagang konsepto. Mayroon ding lingguhang mga takdang-aralin sa programming, kung saan ipapatupad mo ang isa sa mga algorithm na sakop sa lecture sa isang programming language na iyong pinili. Ang bawat kurso ay nagtatapos sa isang multiple-choice na panghuling pagsusulit.

Mga channel at playlist sa YouTube

  1. Algorithm ni Abdul Bari.

    Isang listahan ng mga maikling lecture sa algorithm ni Abdul Bari, isang medyo sikat na YouTuber na nagpapaliwanag ng mga kumplikadong paksa sa pinakasimple at madaling maunawaan na mga paraan sa kanyang mga manonood.

  2. Mga Structure ng Data at Algorithm sa Java sa Programming gamit ang Mosh channel.

    Ang 'Programming with Mosh' ay isang sikat na mainstream na channel sa YouTube para sa mga nagsisimula sa programming. Mayroon itong maraming at maraming mga tutorial sa Java at iba pang mga programming language, ang mga ito ay mahusay na nakabalangkas at mahusay na ipinakita, kasama ang tutorial sa mga istruktura ng data at mga algorithm. Isang magandang paraan upang maging pamilyar sa mga paksang ito kung hindi mo gustong magbasa ng mga libro at magbayad para sa mga kurso.

  3. MIT 6.006 Panimula sa Algorithms, Fall 2011 ng MIT OpenCourseWare

    Ang MIT OpenCourseWare ay isang channel ng Massachusetts Institute of Technology, at mayroon itong maraming magagandang libreng kurso sa video, kabilang ang isa sa mga algorithm. Ang buong kurso ay binubuo ng 47 halos isang oras na sesyon.

Mga komento
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION