JavaRush студенттерине ыңгайлуу болушу үчүн биз программалоодогу эң маанилүү темалар боюнча лекцияларды жана макалаларды чогултууну чечтик. Үчүнчү тандоо алгоритмдер жөнүндө. Мини-гидде биз макалалардын маңызын кыскача баяндайбыз, эгер сиз шилтемеге кирсеңиз, сиз кызыккан тема тууралуу көбүрөөк биле аласыз. Коллекцияны кыстармаларыңызга кошуп, керек болгондо ага кайтыңыз.
Алгоритмдер жөнүндө материалдар
Макалалар жана лекциялар
Гарвард курсу
"CS50. Программалоонун негиздери" иштеп чыгуучу ээ болушу керек болгон негизги бorмдерди камтыйт. Бул лекцияда бириктирүү сорту деп аталган алгоритм жөнүндө сөз болот. Бул алгоритм рекурсивдүү болуп саналат; ал бир чоң сорттоо маселесин кошумча тапшырмаларга бөлөт, алардын аткарылышы аны баштапкы чоң маселени чечүүгө жакындатат. Бул лекция текст жана видео форматтарда жеткorктүү.
Гарварддын "CS50. Программалоонун негиздери" курсунун кезектеги лекциясында тандоо сорту жөнүндө сөз болот. Сандардын массивдерин сорттоо мисалын колдонуу менен бул сорттоо алгоритми лекцияда талкууланат. Мурунку лекциядагыдай эле, маалыматты кантип кабыл алуу оңой экенине жараша, аны окуп же видеону көрө аласыз.
JavaRush тарабынан орус тorне которулган Гарвард курсунан дагы бир лекция. Бул алгоритмдин негизги идеясы (киргизүү сорту) массивди иреттелген жана сорттолбогон эки бөлүккө бөлүү болуп саналат. Алгоритмдин ар бир кадамында сан сорттолбогон бөлүктөн сорттолгон бөлүккө жылат.
Лектор көбүктүү сорттоо алгоритми кантип иштээрин түшүндүрүү үчүн жөнөкөй мисалдарды колдонот. Бул алгоритм абдан түшүнүктүү жана ишке ашыруу оңой. Ошондуктан башталгычтар аны абдан жакшы көрүшөт. Көбүктүн сортторун үйрөнүү үчүн лекцияны окуп, видеону көрүңүз.
Элементтерди сорттоо - иштеп чыгуучу көнүшү керек болгон алгоритмдердин категорияларынын бири. Бул макалада автор сорттоо алгоритмдерин карап көрөт: жөнөкөй сорттоо, тандоо сорттору, кыстаруу сорттору, шаттл сорттору, Shell сорттору жана башкалар. Макалага тиркелген материал дагы көбүрөөк билүүгө мүмкүндүк берет, анткени бул карап чыгуу макаласы. Ал эми анын максаты - кыскача киришүү.
Бул code жазуу үчүн алгоритмдер жөнүндө макаланын котормосу. Котормонун автору макаланы тилдин негиздерин билген жана алгоритмдер боюнча бorмин бир аз кеңейтүүнү каалаган адамдар окуйт деп болжолдойт. Төмөндө берилген көйгөйлөрдү чечүүнүн жалпы ыкмаларына төмөнкүлөр кирет: сорттоо, бинардык издөө, хэш tableлар,
үймөктөр , дарактар,
тереңдик-биринчи издөө ,
динамикалык программалоо .
Алгоритмдер жөнүндө кириш макала. Чечorши керек болгон маселенин мисалын колдонуу менен кадам-кадам, текст алгоритмдерди жана аларды кантип колдонууну түшүндүрөт. Лекциянын аягында алгоритмдер жөнүндө маалымат камтылган пайдалуу булактардын тизмеси берилген.
"Интервью суроолору жана жоопторундагы" алгоритмдер
Алгоритмдердин ар кандай түрлөрү долбоорлордо сиз ойлогондон да көп колдонулат. Мисалы, кээ бир маалыматтарды белгилүү бир параметрлерге (мамычаларга) ылайык иргешибиз керек, андыктан көп күч-аракет жумшабастан, алар аркылуу өтүшүбүз керек. Ошондуктан, жумуш маегинде, алар белгилүү бир негизги алгоритм жөнүндө суралышы мүмкүн, жана балким, codeду колдонуу менен аны ишке ашыруу милдети берилген. Бул макалада сиз кээ бир негизги алгоритмдер жана аларды Javaда ишке ашыруунун конкреттүү мисалдары менен тааныша аласыз.
Мурунку макаласында автор массивдерди сорттоо үчүн ар кандай алгоритмдер жана ач көз алгоритм деп аталган бул макалада аларга байланыштуу графиктер жана алгоритмдер жөнүндө сөз болгон.
Бонус
Адитя Бхаргаванын "Grocking Algorithms" китебине өтө кылдат сереп. Author китептин ар бир бөлүмүн этап-этабы менен карап чыгат: тема жеткorктүү түрдө берилгенби, маалымат жетиштүүбү. Сын-пикирди окуп, алгоритмдер жөнүндө китеп сатып алууну чечиңиз.
Бул китеп программалоодо маалымат структураларын жана алгоритмдерди изилдөөгө жана колдонууга арналган. Ал маалымат структуралары маалыматтардын эстутумда уюштурулуш жолун кантип аныктаарын жана алгоритмдер бул структураларда ар кандай операцияларды кантип аткарарын талкуулайт.
Сериядагы башка материалдар: |
|
GO TO FULL VERSION