Ndandilungiselela i-Google HashCode World Championship Finals 2017. Olu lukhuphiswano lukhulu kunye neengxaki ze-algorithmic ezihlelwe yiGoogle.
Ndaqala ukufunda iC++ ukusuka ekuqaleni kwibanga lesithoba. Ndandingazi nto malunga neprogram, i-algorithms okanye izakhiwo zedatha. Ngexesha elithile ndabhala umgca wam wokuqala wekhowudi. Kwiinyanga ezisixhenxe kamva, ukhuphiswano lwenkqubo lwalusemnyango. Bendifuna ukubona ukuba isimbo sam sokufunda sisebenza kakuhle kangakanani na. Yayilithuba elifanelekileyo.
Emva kweentsuku ezimbini zokhuphiswano, zafika iziphumo: Ndiphumelele imbasa yegolide.
Ndothuka. Ndandiphambi kwabakhuphisana nabaneminyaka eyi-5 yamava. Ndandisazi ukuba ndisebenze nzima, kodwa le mpumelelo yayingaphaya kwayo yonke into endandiyilindele. Ndabona ukuba inkqubo yezemidlalo yayiyisihloko sam kwaye ndangena kuyo ngokukhawuleza.
Ndiyayazi into eyandikhokelela empumelelweni kwaye ndifuna ukwabelana nawe ngayo.
Eli nqaku liguqulelwe ngenkxaso ye-EDISON Software, leyoikhathalela impilo yabacwangcisi kunye nesidlo sakusasa sabo , kwakunyeiphuhlisa inkqubo yesoftware .
Loluphi ulwimi lokuprograma olunokukhetha
- C++ - Ndincoma kakhulu! Ukhawuleza kakhulu. Ukuphunyezwa kwe-algorithms kuthatha ixesha elincinci ngenxa ye-STL. I-C++ yamkelwe kulo lonke ukhuphiswano. Ndibhale umgca wam wokuqala wekhowudi kwi-C ++.
- C - Funda i-C ++ ngenxa ye-STL. Ukuba uyazi uC, unokuphinda udwelise inkqubo kwiC++.
- IJava lulwimi lwenkqubo olucothayo. Ineklasi yeBig Integer, kodwa ayizukukunceda kakhulu. Ukuba ukhuphiswano lunomda wexesha, ngeJava ngokuqinisekileyo uya kuludlula. IJava ayamkelwa kulo lonke ukhuphiswano.
Ungaqhelisela phi
Ndicebisa
Okokuqala, kufuneka uphucule ulwazi lwakho lweziseko
Nje ukuba uqhelane nesintaksi solwimi, kukho iingxaki ekufuneka zoyiswe. Qala ngeengxaki ezilula ezifuna ukuziqhelanisa. Kweli nqanaba, into ephambili kukumisela isitayile sakho senkqubo. Mhlawumbi uyathanda ukubhala ikhowudi enendawo emhlophe eninzi, mhlawumbi awukwenzi. Usenokuba ubeka izibiyeli kumgca omnye othi “ukuba”, okanye uzibeka kwimigca eyahlukeneyo.
Kuya kufuneka ufumane isitayile sakho senkqubo kuba sisitayile SAKHO.
Xa uyikhangela, khumbula imigaqo emibini esisiseko:
- Ikhowudi yakho kufuneka kube lula ukuyiphumeza. Kuya kufuneka uzive ukhululekile ukuphumeza isisombululo oza naso. Ngoba? Kuba ngexesha lokhuphiswano, into yokugqibela oyifunayo kukulahleka kwikhowudi yakho. Kuhlala kungcono ukuchitha imizuzu emi-5 eyongezelelweyo ucinga malunga nendlela yokwenza lula ukuphunyezwa kwekhowudi kunokuchitha imizuzu eyi-10 uzama ukuyiqonda.
- Ikhowudi yakho kufuneka kube lula ukuyifunda. Xa ikhowudi ifundeka lula, kulula ukuyilungisa. Masivume—iincukuthu ziyenzeka ngalo lonke ixesha. Uyayazi loo mvakalelo xa unemizuzu eyi-10 kwaye awukwazi ukufumana impazamo enkulu? Ewe kunjalo. Ukunqanda le meko, bhala ikhowudi efundekayo. Nje ukuba uqale ukuyilungisa, ikhowudi iya kubonakala yendalo kwaye kulula ukuyiqonda.
UngaPhucula njani iZakhono zakho zoPhuhliso
Ziqhelise, uzilolonge kwaye uziqhelanise ngakumbi. Ndincoma ukuba usebenze ngezona ngxaki zokuqala ezingama-250 ezinokusonjululwa
Musa ukuthi: "Le ngxaki inzima kakhulu kum, ndiya kuzama ukusombulula enye." Le yindlela abacinga ngayo abalahlekileyo.
Thatha isiqwenga sephepha kunye nepensile. Ycinge. Mhlawumbi ungasifumana isisombululo, mhlawumbi akunjalo. Ubuncinci, uya kuphuhlisa ukucinga kwe-algorithmic. Ukuba awukwazi ukuza nesisombululo kwisithuba seyure, khangela isisombululo esele senziwe kwiforum okanye kumanqaku.
Uya kuzuza ntoni ngale ndlela? Funda ukuphumeza ngokukhawuleza iingcamango zakho usebenzisa ikhowudi. Kwaye ufunde iingxaki zeklasi kunye ne-algorithms.
Okwesibini, kuya kufuneka wazi i-algorithms kunye nezakhiwo zedatha
Landela indlela yoluhlu lwemigangatho. Ngaba uqalile ukubaleka ungazi ukuba uhambe njani? Hayi. Ngaba unokwakha i-skyscraper ngaphandle kwesiseko esiqinileyo? Hayi kwakhona.
Awunako ukuwahoya amanyathelo kwindlela yokufunda. Ukuba awubahoyi, uya kusala nezithuba zolwazi. Ekuhambeni kwexesha ziya kuba mbi ngakumbi.
Qala nge-algorithms esisiseko kunye nezakhiwo zedatha
Kunzima ukuqalisa. Mhlawumbi kungenxa yokuba awuyazi into omawuyifunde kuqala. Kunjalo ngoba
Ukuba usebenza ekusombululeni iingxaki ezilula, awusoze uphucule.
Eyona ndlela isebenzayo yokuqonda into ongayaziyo kukuba ube namava okusebenza. Ndafunda ngolo hlobo. Ndafunda iindlela ezininzi ezintsha endingazange ndeva ngazo ngaphambili ngokukhetha umsebenzi onzima.
Ingxaki nganye yesithathu osebenza kuyo kufuneka ikufundise into entsha. Lumka ngakumbi xa ukhetha iingxaki. Khetha iingxaki ezinzima ngakumbi!
Nje ukuba ugqibezele ezi ngxaki zingama-250 zivela kwi-SPOJ, uya kuba nokuqonda okusisiseko kwizihloko eziphambili zenkqubo yezemidlalo. Ngokuqonda okunzulu kwengqiqo emva kwe-algorithms esisiseko, i-algorithms yezinga eliphezulu iya kubonakala inzima kakhulu. Ngale ndlela unokwenza uninzi lolwazi lwakho.
Yemba nzulu kumxholo ngamnye ophambili
Ukuba awuqinisi ulwazi lwakho emva kokufunda into entsha, uya kulibala ngokukhawuleza yonke into.
Ndincoma ukuba emva kokuba ufunde i-algorithm entsha, uyisebenzise ekusebenzeni. Yisebenze ngemisebenzi emi-2-3. Khangela ithegi ye-algorithm kwi-SPOJ. Apho uya kufumana iingxaki ezifuna le algorithm ukusombulula. Sombulula le miba kuqala.
Master Dynamic Programming kuba iya kukukhokelela kuloyiso
Ngokusuka kumava am, lonke ukhuphiswano lunengxaki enye ubuncinane
Kwaye oku kulungile. Kuba ukuba uyayiqonda inkqubo eguqukayo, ngoko uya kuphumelela.
Ndiyayithanda inkqubo eguqukayo, sisihloko endisithandayo. Imfihlo yenkqubo eguquguqukayo kukwenza ukhetho lwehlabathi jikelele, hayi olwasekhaya kuphela. Kufuneka uhlukanise ingxaki ibe yingxaki ezincinci ezilula. Sombulula nganye kwezi ngxaki kube kanye kuphela. Emva koko yenza isisombululo esidibanisa iingxaki ezincinci ezisonjululwe.
Ngelixa ufunda iikhonsepthi ezintsha, jonga
Sebenza nzima
Ngaba ukhe weva ngeembaleki eziphumelele iiOlimpiki ngaphandle kweminyaka yokuzilolonga? Mna hayi.
Rhoqo ngonyaka, amalungiselelo eComputer Olympiad aqala ngoSeptemba kwaye aphela ngo-Epreli.
Yonke imihla kwezi nyanga zi-8 ndandizilolonge iiyure ezi-5.
Kwaye ewe, ndichithe ezi 5 iiyure kuphela ukusombulula iingxaki algorithmic. Ndikhumbula iintsuku endandiziqhelanisa ne-8 kunye neeyure ezili-10. Ngoba? Kuba ndandiyithanda. Yonke imihla xa ndibuya esikolweni, ndandisiya ngqo kwigumbi lokulala, ndihlale ekhompyutheni ndize ndiqalise ukuhlalutya ingxaki entsha. Okanye bendifunda i-algorithm entsha ekufuneka ndiyazi ukusombulula le ngxaki.
Ukuba ufuna ukuphumelela, kufuneka wenze okufanayo. Khetha ingxaki kwaye unamathele kuyo. Cinga ngako ngelixa uhamba ukuya evenkileni okanye ngelixa uqhuba.
Ngaba ubusazi ukuba xa ulele, ingqondo yakho ichitha ulwazi oluqokelelwe ngaloo mini? Ubonakala eqokelela iincwadi ngokulandelelana kwealfabhethi eshelufini. Ngokusisiseko, ingqondo yakho icinga ngeengxaki ezahlukeneyo ojongene nazo.
Oku kunokusetyenziswa ngobuchule. Ngaphambi kokulala, funda ingxaki enzima kwaye ukhumbule oko kuthatha ukuyisombulula. Kweli nqanaba, akukho mfuneko yokuba ujonge isisombululo ngokwaso. Hambo lala. Ingqondo yakho iya kuqala ukulungisa le ngxaki. Xa uvuka, uya kumangaliswa kukuqonda ukuba usifumene isisombululo ngoxa ulele.
Yizame ngokwakho. Kufana nomlingo.
Ndenze ibhlog yevidiyo
Lo mhlathi umfutshane awuhambelani nenkqubo yezemidlalo. Ukuba ukwiminyaka yamashumi amabini kwaye uyazibuza ukuba ndiwubona njani umhlaba, unokufuna ukujonga
Sebenza ngobulumko
Le yimfihlelo yempumelelo. Kufuneka usukelo.
Singabantu kwaye siyayithanda
Indlela yokoyisa ukuzibekela amangomso izinto
Zibekele usukelo. Uya kuhlala ufumana iingxaki ezinomdla apho unokufunda khona into entsha (jonga izibonelelo endizikhankanyileyo ngasentla). Kodwa ezi ngxaki zifuna ukusonjululwa, kungekuphela nje ukufunda ngazo.
Nantsi ke indlela endakoyisa ngayo ukuzibekela amangomso izinto. Ndaqalisa ikhalenda yephepha ndaza ndazalisa suku ngalunye ngeengxaki endandifuna ukuzicombulula. Ndandisoloko ndizalisa iingxaki kwiintsuku ezimbini kusengaphambili. Ngoko ndandiyazi indlela yokulawula ixesha lam kwiintsuku ezilandelayo.
Ngoko ndandisoloko ndikhuthazekile. Kwakufuneka ndicombulule iingxaki ezithile ndize ndifumane ezintsha ukuze ndizalise iintsuku ezilandelayo kwikhalenda. Ukuyeka iingxaki ezisonjululweyo kuvakala kukuhle. Ndiyazi ukuba nawe uyayithanda.
Zifumanele eyakho ikhalenda yephepha. Musa ukwenza olunye uluhlu lwezinto oza kuzenza kwifowuni yakho oya kukulibala ngomso.
Uyilungisa njani impazamo ngokufanelekileyo
Ngaba uyafuna ukuba yincutshe? Ukuba ewe, kuya kufuneka "uyilungise engqondweni yakho."
Le yeyona ndlela isebenzayo yokulungisa impazamo endiyaziyo kuba ayifuni debugger kwaphela. Ingqondo yakho ihlola amasebe ekhowudi ezininzi ngaxeshanye kwaye ikunika umbono obanzi wekhowudi xa uthelekiswa nayo
Unokuzithelekisa nograndmaster odlala ichess kwaye ucinga i-3 ihamba phambili.
Ndisebenzisa obu buchule kuphela njengomgca wam wokuqala wokuzikhusela. Emva koko ndisebenzisa i-debugger yangempela.
Ukuze ufunde indlela yokucoca entlokweni yakho, kufuneka uziqhelanise. Xa uqinisekisa isisombululo kwingxaki kwaye ufumane "impendulo engalunganga", musa ukuya ngqo kwiqhosha lokulungisa ingxaki. Phinda ufunde ikhowudi kwaye ucinge: "Kwenzeka ntoni kulo mgca?", "Ukuba" apha kuyichaphazela njani inkqubo?", "Xa siphuma kwi-loop, lithini ixabiso le-iterator?"
Ngale ndlela uzicingela ngokwakho. Ngokuhamba kwexesha, uya kufunda ukubhala ikhowudi kwaye uyilungise kwi-fly.
Malunga nombhali
U-Andrei Margeloiu ngumcwangcisi onomdla onomdla kushishino, uqalo, nangaphandle. Ungaqhagamshelana naye
Inguqulelo: Diana Sheremyeva
umthombo: www.habr.com