四種基本的查詢演算法

2021-10-22 17:37:21 字數 3264 閱讀 3540

public

class

demo1

;int i =

seqsearch

(arr,3)

;if(i==-1

)else

}public

static

intseqsearch

(int

arr,

int value)

}return-1;}}

要求是有序陣列

public

class

demo2

; system.out.

println

(binarysearch

(arr,

0, arr.length-1,

66));

}public

static

intbinarysearch

(int

arr,

int left,

int right,

int findval )

int mid =

(left + right)/2

;int midvalue = arr[mid];if

(findval>midvalue)

else

if(findval>midvalue)

else

}}

//當有多個重複值的時候,返回所有符合的集合

public

static arraylist

binarysearch2

(int

arr,

int left,

int right,

int findval )

int mid =

(left + right)/2

;int midvalue = arr[mid];if

(findval>midvalue)

else

if(findval>midvalue)

else

resindexlist.

add(temp)

;--temp;

} resindexlist.

add(mid)

; temp=mid+1;

while

(true

) resindexlist.

add(temp)

;++temp;

}return resindexlist;

}}

當資料連續,插值演算法優越性好

//公式

;}}//注意,放mid大的時候,此時返回的值為high

//反之,返回值為mid

}

return high;

}low = mid + 1;

k -= 2;}}

return -1;

}

}

//注意,放mid大的時候,此時返回的值為high

//反之,返回值為mid

查詢 四種查詢演算法

順序查詢 sequential search 又叫線性查詢,是最簡單直接暴力的查詢方法。就是從頭至尾挨個尋找,找到位置。當遍歷完沒找到就說明要找的資料不存在。它不要求資料有序。該演算法的時間複雜度為o n public static int seqsearch int arr,int value r...

四種基本排序演算法

思路分析 在要排序的一組數中,對當前還未排好的序列,從前往後對相鄰的兩個數依次進行比較和調整,讓較大的數往下沉,較小的往上冒。即,每當兩相鄰的數比較後發現它們的排序與排序要求相反時,就將它們互換。實現 arr array 1,43,54,62,21,66,32,78,36,76,39 functio...

PHP的四種基本演算法

許多人都說 演算法是程式的核心,乙個程式的好於差,關鍵是這個程式演算法的優劣。作為乙個初級phper,雖然很少接觸到演算法方面的東西 但是對於氣泡排序,插入排序,選擇排序,快速排序四種基本演算法,我想還是要掌握的。需求 分別用 氣泡排序法,快速排序法,選擇排序法,插入排序法將下面陣列中 的值按照從小...