Kotlin實現二分查詢

2021-08-17 21:05:47 字數 461 閱讀 6950

版本一

找到目標元素時返回其下標,未找到時返回-1

fun binarysearch(list: arraylist, target: int): int 

fun binarysearch(list: arraylist, target: int, minindex: int, maxindex: int): int

}

版本二

找到目標元素時返回其下標,未找到時 返回其應該插入的位置(在該位置插入後,陣列仍保持有序)

fun binarysearch(list: arraylist, target: int): int 

fun binarysearch(list: arraylist, target: int, minindex: int, maxindex: int): int

}

迭代二分查詢二分查詢

在寫這篇文章之前,已經寫過了幾篇關於改迭代二分查詢主題的文章,想要了解的朋友可以去翻一下之前的文章 bentley在他的著作 writing correct programs 中寫道,90 的計算機專家不能在2小時內寫出完整確正的二分搜尋演算法。難怪有人說,二分查詢道理單簡,甚至小學生都能明確。不過...

c 實現二分查詢

二分查詢又稱折半查詢,對排好序的陣列,每次取這個數和陣列中間的數進行比較,複雜度是 o logn 如 設陣列為 a n 查詢的數x,如果x a n 2 則返回 n 2 如果 x a n 2 則在 a 0 到a n 2 1 中進行查詢 如果x a n 2 則在a n 2 1 到a n 1 中進行查詢 ...

二分查詢法實現

查詢分為靜態查詢和動態查詢 靜態查詢主要包括順序查詢和二分查詢 折半查詢 順序查詢是我們常用的一種查詢方式,它有順序表的順序查詢和鍊錶的順序查詢,這兩部分在前面學習線性表時都有學習。二分查詢是一種針對有序表進行的查詢,其效率高,比較次數少。動態查詢是指可以對錶進行刪除和插入操作。主要以二叉排序樹為主...