Мазмунга өтүү

Алгоритмдердин эффективдүүлүгү: тез жана жай

Сабактын башталышы

Тез же жай: планың канчалык акылдуу?

Кээ бир чечимдер эмне үчүн башкалардан алда канча тез экенин жөнөкөй таанышуу

Негизги идея: Эки план тең туура жооп бериши мүмкүн, бирок бири экинчисинен алда канча тез болушу мүмкүн. Нерселердин саны (бул маалымат) өскөндө, жай план абдан тез жайлайт, ал эми акылдуу план тез бойдон калат. Тез планды тандай билүү эффективдүүлүк жөнүндө ойлонуу деп аталат.
Сабактын аягында сен:
  • «эффективдүүлүк» дегенди жөнөкөй сөз менен түшүндүрө аласың,
  • тез план менен жай планды айырмалай аласың,
  • жөнөкөй өсүү графигин окуп, үч ылдамдыкты атай аласың: бирдей иш, бирден жана алда канча көп.

1. Бир жооп, ар түрдүү ылдамдык

100 карандаштын кутусун полго төгүп жибердиң деп элестет. Сен кызылын табышың керек. Карандаштарды бирден алып, ар биринин түсүн текшере аласың. Же досуң карандаштар мурунтан түсү боюнча иреттелген кутуну берет, ошондо сен түз эле кызылдарга барасың.

Эки план тең кызыл карандашты табат. Бирок бири экинчисине караганда алда канча көп кадам талап кылат. Программалоодо маселени чечкен түшүнүктүү кадамдардын топтому алгоритм деп аталат. Бир эле маселенин тез алгоритми жана жай алгоритми болушу мүмкүн. Эффективдүүлүк — план канча иш кылышы керектиги жөнүндө.

Түбөлүккө созулган туура жооптун пайдасы аз. Жакшы программисттер жоопту жана аны алуунун тез жолун издешет.

2. Секундду эмес, кадамды сана

Тез компьютер менен жай компьютер ар башка убакытта бүтүрөт, ошондуктан секунддар бизди алдап коюшу мүмкүн. Анын ордуна программисттер кадамдарды санашат — план канча кичине аракет кыларын. Кадамдарды сануу ар кандай компьютерде иштейт.

Маанилүү суроо «10 нерсеге канча убакыт?» эмес. Ал мындай: «нерселердин саны алда канча көбөйгөндө эмне болот?» Эгер 10 карандаш болсо, бирден текшерүү жакшы. Эгер 1 000 000 карандаш болсо, «бирден» бүт күндү алышы мүмкүн, ал эми акылдуу план баары бир көз ачып жумганча бүтөт.

Программисттердин «маалымат өскөндө кадамдардын саны кантип өсөрүн» айткан өзгөчө ыкмасынын лакап аты бар: Big-O (Чоң О). Эч кандай татаал математика керек эмес — муну нерселер чоңойгондо тез, орточо же жай деп айткан белгидей элестет.

Бул сабакты YourAIZone платформасында улантыңыз

Толук сабакта — толук түшүндүрмө, чыгарылган мисалдар, көп кездешкен каталар, заматта текшерилүүчү тесттер жана ЖИ-репетитор. Конок катары дароо баштаңыз же прогрессти сактоо үчүн аккаунт түзүңүз.

Толук сабакта

  • Толук түшүндүрмө
  • Чыгарылган мисалдар
  • Көп кездешкен каталар жана алардан кантип качуу керек
  • Тест суроолору: 15
  • Тема боюнча суроолорго жооп берген ЖИ-репетитор
  • Окуучу, ата-эне жана мугалим үчүн прогрессти көзөмөлдөө