Sobes.tech
Junior — Middle

Qeyri-bərabər məlumat ağacında axtarışın effektivliyi necə müəyyən edilir?

sobes.tech Süni İntellekt

AI-dan cavab

Axtarışın qeyri-balance edilmiş ağacda səmərəliliyi axtarılan elementin yerləşdiyi düyünün dərinliyi ilə müəyyən edilir. Ən pis halda, əgər ağac siyahıya çevrilərsə, axtarış vaxtı xətti olur — O(n). Orta hesabla, səmərəlilik ağacın quruluşundan və məlumatların paylanmasından asılıdır. Qiymətləndirmə üçün adətən ağacın hündürlüyü istifadə olunur: nə qədər hündürdürsə, axtarış bir o qədər uzun çəkir. Go dilində, ikili ağacda axtarışı aşağıdakı kimi həyata keçirilə bilər:

func search(node *Node, key int) *Node {
    if node == nil || node.key == key {
        return node
    }
    if key < node.key {
        return search(node.left, key)
    }
    return search(node.right, key)
}

Əgər ağac balanslı deyilsə, dərinlik böyük ola bilər və bu, səmərəliliyi azaldır.