Junior — Middle
Ներկայացրեք ժամանակային բարդության O(n) հասկացությունը և որ իրավիճակներում է այն կիրառվում։
sobes.tech AI
Պատասխան AI-ից
Ժամանակային բարդությունը O(n) նշանակում է, որ ալգորիթմի կատարման ժամանակը գծայինորեն աճում է մուտքային տվյալների չափի n հետ:
Սա նշանակում է, որ եթե տվյալների հավաքածուի տարրերի քանակը կրկնապատկվի, ապա ժամանակը նույնպես մոտավորապես կրկնապատկվում է:
O(n) իրավիճակի օրինակ՝
-
Անկարգ զանգվածում տարր որոնելը բոլոր տարրերը ստուգելով:
-
Բոլոր թվերի գումարը հաշվելը ցանկում:
Swift-ում օրինակ՝
func sumArray(_ array: [Int]) -> Int {
var sum = 0
for num in array {
sum += num
}
return sum
}
Այստեղ ֆունկցիան անցնում է բոլոր տարրերով մեկ անգամ, հետևաբար նրա ժամանակային բարդությունը՝ O(n):