Sobes.tech
Junior — Middle

Оё метавонед мисолҳои алгоритмҳо барои ҷустуҷӯи унсурҳо дар структураҳои додаҳоро диҳед?

sobes.tech AI

Ҷавоб аз AI

Барои ҷустуҷӯи элементҳо дар сохторҳои додаҳо, одатан алгоритмҳои зерин истифода мешаванд:

  • Ҷустуҷӯи хаттӣ (Linear Search) — гузаронидани элементҳо яке по дигар, барои массивҳои номуайян мувофиқ аст.
  • Ҷустуҷӯи дугона (Binary Search) — барои массивҳои ба тартиб дароварда, самаранок аст, ҳар қадам минтақаи ҷустуҷро ба ду тақсим мекунад.
  • Ҷустуҷӯи дар дарахтҳо (масалан, дар дарахти дугонаи ҷустуҷӯ) — гузариши рекурсивӣ ё итеративӣ барои ёфтани элемент.
  • Ҷустуҷӯи дар таблицаҳои ҳеш (hash tables) — дастрасии зуд тавассути калид бо истифода аз функсияи ҳеш.

Маслиҳат барои ҷустуҷӯи дугона дар 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
}