For давталтын том O хэд вэ?
For давталтын том O хэд вэ?

Видео: For давталтын том O хэд вэ?

Видео: For давталтын том O хэд вэ?
Видео: Ирония судьбы, или С легким паром, 1 серия (комедия, реж. Эльдар Рязанов, 1976 г.) 2024, Дөрөвдүгээр сар
Anonim

The том О -ийн а гогцоо нь давталтын тоо юм гогцоо доторх мэдэгдлийн тоогоор гогцоо . Одоо тодорхойлолтын дагуу Том О байх ёстой О (n*2) гэхдээ тийм О (n).

Үүнтэй адилаар та for давталтын нарийн төвөгтэй байдал юу вэ?

Бид мэдэгдлүүдийг O(1) гэж үздэг тул for-ийн нийт хугацаа гогцоо нь N * O(1), нийт O(N) байна. гаднах гогцоо N удаа гүйцэтгэнэ. Цаг болгонд гаднах гогцоо гүйцэтгэдэг, дотоод гогцоо М удаа гүйцэтгэнэ. Үүний үр дүнд дотоод дахь мэдэгдлүүд гогцоо нийт N * M удаа гүйцэтгэнэ.

Цаашилбал, жишээн дээр Big O тэмдэглэгээ гэж юу вэ? The Том O тэмдэглэгээ алгоритмын дээд хязгаарыг тодорхойлдог бөгөөд функцийг зөвхөн дээрээс нь хязгаарладаг. Учир нь жишээ , Insertion Sort-ийн тохиолдлыг авч үзье. Энэ нь хамгийн сайн тохиолдолд шугаман цаг, хамгийн муу тохиолдолд квадрат хугацаа шаардагдана. Оруулсан эрэмбийн цаг хугацааны нарийн төвөгтэй байдлыг бид баттай хэлж чадна О (n^2).

Энгийнээр хэлэхэд та for давталтын цагийн нарийн төвөгтэй байдлыг хэрхэн олох вэ?

Жишээ нь Сонголт эрэмбэлэх болон Оруулах эрэмбэлэх нь O(n^2) байна. цаг хугацааны нарийн төвөгтэй байдал . O(Нэвтрэх) Цаг хугацааны нарийн төвөгтэй байдал -ийн а гогцоо бол O(Logn) гэж үзнэ гогцоо хувьсагчдыг тогтмол хэмжээгээр хуваадаг / үржүүлдэг. Жишээлбэл, хоёртын хайлтанд O(Logn) байна. цаг хугацааны нарийн төвөгтэй байдал.

Big O-г хэрхэн тооцоолох вэ?

руу Том О-г тооцоол , та кодын мөр бүрийг үзэж, мөн эсэхийг тогтоох боломжтой О (1), О (n) гэх мэт дараа нь буцаана тооцоо төгсгөлд нь. Жишээ нь байж болно О (4 + 5n) энд 4 нь дөрвөн тохиолдлыг илэрхийлдэг О (1) ба 5n нь таван тохиолдлыг илэрхийлнэ О (n).

Зөвлөмж болгож буй: