所有的複習思想都參考了在此表示感謝
思想:順序查詢可以說是最簡單的了,正常情況下,面試官不會用這個來問你的。。不然你肯定感覺被侮辱了~~意思就是從前像後遍歷,如果有則返回下標否則返回-1
public static int sequencesearch(int arr,int val)
for(int i=0;i
思想:折半查詢一般要求佇列有序,在之前可以使用前面介紹的排序演算法進行排序,思想是每次都取中間值,然後和要查的值進行比對,然後進行砍半
public static int binarysearchrecurrence(int arr,int left,int right,int val)
int middle = (left + right)/2;
if(val < arr[middle])
else if(val > arr[middle])
else
return index; }
public static int binarysearchiteration(int arr,int val)
else if(val < arr[middle])
else if(val == arr[middle])
} return index;
}
時間複雜度:有序:o(logn) 無序:o(nlogn)+o(logn)(可以用快排或者堆排序)
常用做hash的手法:
除法取餘法:key = val % c;解決衝突的手法:數字分析法:
平方取中法:
摺疊法
下面的**可能有一定的bug,而且使用最簡單的方式了,如果想深入研究可以看其他的一些部落格或者讀一下hashmap的原始碼
/**
* * title: hashsearch
* description: 用除法取餘法插入資料,並且使用開放位址線性探測法解決衝突
* @author coder_zww
* @date 2023年4月12日
*/public class hashsearch
public static int searchhash(int hash,int val,int length)
if(hash[key] == 0)
return key; }
public static void inserthash(int hash,int val,int length)
hash[key] = val;
}}
未完待續~
MySQL複習(查詢)
高階sql查詢 like模糊匹配 1 sql萬用字元 like和not like 匹配0個或多個字元 匹配乙個字元 mysql select column1,column2.from table where column like lei 模糊匹配 2 正則模式匹配 regexp not regex...
作業系統複習系列
個人理解 作業系統,處於裸機外層,所有軟體應用的最底層。作為執行編譯軟體,各種應用軟體的支撐。從實現使用者功能上來說,作業系統本質就是為了讓使用者更好地使用計算機,所以作業系統提供了良好的使用者介面,同時必須保證使用者使用的安全性可靠性和使用者更多功能的拓展性。從系統管理員的角度,計算機系統中,加入...
MySQL複習 SQL DQL查詢
去除重覆記錄 select distinct address from stu select name,math as 數學成績,english as 英語成績 from stu 不進行過濾的資料非常大,導致通過網路傳輸了多餘的資料,從而浪費了網路頻寬。因此盡量使用 sql 語句來過濾不必要的資料,...