Sobes.tech
Junior — Middle

Izskaidrojiet binārās meklēšanas algoritma darbības principu un tā īpatnības.

sobes.tech AI

Atbilde no AI

Dabiskās meklēšanas algoritms tiek izmantots, lai atrastu elementu sakārtotā masīvā vai sarakstā. Tā princips:

  1. Nosaka masīva vidējo elementu.
  2. Ja meklētais elements ir vienāds ar vidējo, meklēšana beidzas.
  3. Ja meklētais elements ir mazāks par vidējo, turpinās kreisajā masīva daļā.
  4. Ja lielāks, labajā daļā.
  5. Process tiek atkārtots rekursīvi vai iteratīvi, līdz elements tiek atrasts vai meklēšanas diapazons izsmelts.

Īpatnības:

  • Darbojas tikai ar sakārtotiem datiem.
  • Sarežģītība — O(log n), daudz ātrāk nekā lineārā meklēšana.
  • Prasa piekļuvi elementiem pēc indeksa (piemēram, masīvā).

Piemērs Swift:

func binarySearch(_ array: [Int], _ target: Int) -> Int? {
    var left = 0
    var right = array.count - 1
    
    while left <= right {
        let mid = (left + right) / 2
        if array[mid] == target {
            return mid
        } else if array[mid] < target {
            left = mid + 1
        } else {
            right = mid - 1
        }
    }
    return nil
}

let numbers = [1, 3, 5, 7, 9]
if let index = binarySearch(numbers, 7) {
    print("Elements at position \(index) found")
} else {
    print("Element not found")
}