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,雖然很少接觸到演算法方面的東西 但是對於氣泡排序,插入排序,選擇排序,快速排序四種基本演算法,我想還是要掌握的。需求 分別用 氣泡排序法,快速排序法,選擇排序法,插入排序法將下面陣列中 的值按照從小...