刷題筆記 一 查詢

2021-10-04 11:15:44 字數 677 閱讀 2847

1、二分查詢的前提是有序,二分查詢要求元素有序、順序儲存

2、二分查詢的最壞時間複雜度為o(log n)

例項:有序表中有1000個元素,則用二分查詢查詢元素x最多需要比較10次

解析:二分查詢的最壞時間複雜度為o(log n),把n等於1000帶入得到,log1000>9,<10,取整那麼至少10

3、用概率查詢改進查詢效率,是經過多次查詢以後使得查詢次數越多的元素查詢速度越快

解析:查詢次數多的意思是多次查詢中某幾個目的數多次出現,那麼既然是改進查詢,肯定不能是折半(折半只有一種順序),所以採用順序查詢,將經常要查的那一些往前面靠,所以查詢地更快一些

例項:假設順序表中包含5個關鍵字,它們的查詢概率分別為,為了使查詢成功時的平均查詢長度達到最小,則順序表中資料元素的出現順序是

b,a,c,e,d

解析:讓概率大的查詢次數少就可以保證總的查詢次數最小,所以對序列依照查詢概率排序,概率最大的找的次數最小

4、二分查詢法:middle =(right +left )/2,當》middle 時,left =middle +1;反之,right =middle -1

例項:有序陣列1 2 3 4 5 6 7 8 9查詢3的二分查詢序列是

解析:索引:0 1 2 3

MongonDB學習筆記(一)查詢

在前面增刪改查的例子裡看到幾個不知道的函式,這一節來看看他們都是什麼意思。mongondb聽起來很高大上,單終歸是乙個資料庫,增刪改查是核心功能,這一節重點看看他的查詢包括符合查詢。其實到這裡,我感受最深的是mongondb作為關係性資料庫的替代品還是很好上手的,至少比redis更容易讓我理解。首先...

Leetcode刷題筆記 查詢

給定乙個被翻轉的整型公升序陣列nums,陣列中無重複元素,如 4,5,6,7,0,1,2 和乙個整數target。要求在被翻轉過的陣列中找到target的位置,若不存在,則返回 1。並且演算法的時間複雜度要求為o log n 如果是有序陣列,則使用二分查詢就可以將複雜度控制在o log n 了。所以...

多合一查詢

create table student num varchar 20 name varchar 20 subject varchar 10 score float insert student select 001 姓名1 英語 78.00 insert student select 001 姓名...