Есептеу күрделілігі теориясы есептеу мәселелерін олардың ресурстарды пайдалануына қарай жіктеуге және бұл сыныптарды бір-бірімен байланыстыруға бағытталған. Есептеу мәселесі – компьютермен шешілетін тапсырма. Есептеу мәселесін алгоритм сияқты математикалық қадамдарды механикалық қолдану арқылы шешуге болады.
Алгоритм күрделілігі дегенді қалай түсінесіз?
Алгоритмнің күрделілігі берілген өлшемді (n) енгізу үшін алгоритмге қажет уақыт және/немесе кеңістік мөлшерінің өлшемі.
Деректер құрылымындағы алгоритмдік күрделілік дегеніміз не?
Алгоритмдік күрделілік - алгоритмнің n өлшеміндегі кірісті ескере отырып, орындауға қанша уақыт кететінін көрсететін өлшем. Алгоритмді масштабтау керек болса, ол нәтижені n-дің үлкен мәндері үшін шектелген соңғы және практикалық уақыт ішінде есептеуі керек. Осы себепті n шексіздікке жақындаған кезде күрделілік асимптоталық түрде есептеледі.
Алгоритмдік күрделілік неліктен маңызды?
Компьютер ғалымдары кодты жазбас бұрын, алгоритм қаншалықты жылдам орындалатынын және оған қанша жад қажет болатынынболжауға мүмкіндік беретін күрделіліктің математикалық өлшемдерін пайдаланады. Мұндай болжамдар нақты әлем қолданбалары үшін алгоритмдерді енгізетін және таңдайтын бағдарламашылар үшін маңызды нұсқаулық болып табылады.
Алгоритмдік күрделілік қалай есептеледі?
Кез келген цикл үшін олардың ішіндегі блоктың орындалу уақытын анықтаймыз және оны бағдарламаның санына көбейтемізциклды қайталаңыз. Кіріс өлшеміне пропорционалды өсетін барлық циклдар O(n) сызықтық уақыт күрделілігіне ие. Массивтің тек жартысын ғана айналдырсаңыз, бұл бәрібір O(n) болады.