查詢方法總結 待完善

2021-08-02 11:03:33 字數 1168 閱讀 8531

myfind.h

#ifndef myfind_h_included

#define myfind_h_included

/*線性查詢:順序查詢\折半查詢

兩種形式:破壞性查詢\非破壞性查詢

*///順序查詢:如果查詢的到就返回key在陣列中第乙個位置的下標,否則返回-1

int sequencesearc(int arr, int arrlen, int key);

//折半查詢:陣列必須有序、只限於線性查詢

int binarysearch(int arr, int arrlen, int key);

/*雜湊查詢:key-valus通過雜湊函式建立一種關係,能夠做到o(1)。

key要盡可能的分散,最好能保證每個key都有乙個相應的value,同時雜湊函式也要盡可能簡單快速

雜湊函式:直接定址法、除法取餘法、數字分析法、平方取中法、摺疊法

*//*

索引查詢:

索引:就是把乙個關鍵字與它對應的i記錄相關聯的過程,乙個索引由若干個索引項構成,每個索引項至少應包含關鍵字和其對應的記錄在儲存器中的位置等資訊。

索引按照結構可以分為:線性索引、樹形索引和多級索引。

線性索引是將索引項集合組織為線性結構,也稱為索引表。包括稠密索引、分塊索引、倒排索引。

*//*

二叉排序樹:根節點的左孩子小於根節點,根節點的右孩子大於根節點(相同數字??)

*/#endif // myfind_h_included

myfind.c

#include "myfind.h"

#include "mysort.h"

//線性查詢:o(n)

int sequencesearc(int arr, int arrlen, int key)

}return -1;

}//折半無序(使用最快的排序方法):o(nlogn)+o(logn);折半有序的時間複雜度:o(logn);

int binarysearch(int arr, int arrlen, int key)

else if (key < arr[middle]) //key小於中間值,則向左查詢

else

}return -1;

}

elasticsearch查詢總結(待完善)

空查詢將返回所有索引庫 indices 中的所有文件 get search 只用乙個查詢字串,你就可以在乙個 多個或者 all 索引庫 indices 和乙個 多個或者所有types中查詢 get index 2014 type1,type2 search 同時你可以使用 from 和 size 引...

Windows HOOK總結 待完善

安裝鉤子 hhook winapi setwindowshookex 1,鉤子型別 in int idhook,2,函式位址,即掛鉤型別事件發生時,系統應該呼叫的函式 in hookproc lpfn,3,標識乙個dll,這個dll中包含第二個引數表示的函式 例項控制代碼 in hinstance ...

優化總結 待完善

sql優化 1.變數在外部解析通常要比在sql內部解析要快 name 1 sql select from user where name name sql select from user where name name.字串優化 1.包裹字串單引號與雙引號的區別 通常來說,單引號是不解析變數的,而...