折半查找和二叉排序树的时间性能_leecode刷题----二分搜索与二叉查找(排序)树...
生活随笔
收集整理的這篇文章主要介紹了
折半查找和二叉排序树的时间性能_leecode刷题----二分搜索与二叉查找(排序)树...
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
預備知識:二分查找
已知一個排序數組A,如A=[-1,2,5,20,90,100,207,800],另外一個亂序數組B,如B=[50,90,3,-1,2-7,80],求B中任意某個元素是否在A中出現,結果存儲在數組C中,出現用1代表,未出現用0代表,如,C=[0,1,0,1,1,0].
二分查找又稱為折半查找,首先,假設表中元素是按升序排列,將表中間位置的關鍵字與查找關鍵字與查找關鍵字比較
1.如果兩者相等,則查找成功;
2否則利用中間位置將表分為前后兩個子集;
(1)如果中間位置的關鍵字大于查找關鍵字,則進一步查找前一子表;
(2)否則進一步查詢后一子表
當區間不合法時,即沒有找到
遞歸實現二分查找
#include循環實現二分查找
bool測試代碼
#include輸出:
leecode題目練習:
35.搜索插入位置
給定一個排序數組和一個目標值,在數組中找到目標值,并返回其索引。如果目標值不存在于數組中,返回它將會被按順序插入的位置。
你可以假設數組中無重復元素。
示例 1:
輸入: [1,3,5,6], 5
輸出: 2
示例 2:
輸入: [1,3,5,6], 2
輸出: 1
示例 3:
輸入: [1,3,5,6], 7
輸出: 4
示例 4:
輸入: [1,3,5,6], 0
輸出: 0
總結
以上是生活随笔為你收集整理的折半查找和二叉排序树的时间性能_leecode刷题----二分搜索与二叉查找(排序)树...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 商业模式新生代_业务分析基础 - 商业模
- 下一篇: 设置文本区域大小_数据验证基本设置技巧