首頁 電腦教學 電腦知識 如何使用遞歸演算法實現Java二分法查找

如何使用遞歸演算法實現Java二分法查找

Jan 12, 2024 pm 08:06 PM

java二分法查找的遞歸演算法怎麼實作

public class 二分法遞迴尋找 {

public static void main(String[] args)是Java程式的入口點,是程式執行的起始位置。在這個方法中,可以編寫程式的主要邏輯和功能。這個方法必須按照特定的格式定義,才能被Java虛擬機器呼叫執行。在main方法的參數清單中,args是字串數組,可以用來接收命令列參數。透過在main方法中編寫程式碼,我們可以實現各種各樣的功能,例如列印輸出、計算、循環、條件判斷等 {

//定義數組,注意,二分查找數組必須是有序的數組!

int[] arr = { 1, 3, 5, 7, 9, 11, 13, 15, 17 };是一個整數陣列的宣告和初始化語句,其中包含9個元素。每個元素的值分別是1, 3, 5, 7, 9, 11, 13, 15, 17。這樣我們就建立了一個名為arr的整數數組,並且給了它初始值。在後續的程式中,我們可以使用這個陣列來進行各種操作,例如尋找、排序、計

//接受查找後的回傳值:索引值,如果沒有則是-1;

//測試尋找元素:9

int a = binarySearch(arr, 9, 0, arr.length - 1);

System.out.println("被找出數字的索引位置是:" a);

}

//參數清單依序為:被尋找的數組,尋找的數字,頭索引,尾索引!

public static int binary(int[] arr, int key, int start, int end) // 遞迴

{

//每次進來創建,中間索引值!

int mid = (star end) / 2;

如果待查找的數小於起始索引或大於結束索引,或起始索引大於結束索引,則表示不存在該數,傳回-1。

if (key arr[end] || start > end) {

return -1;

}

//如果中間值小於被尋找的數,則重新定義頭索引移至中間 1的位置,這樣可以篩選掉一半的數字!

if (arr[mid]

//開始遞迴!

return binary(arr, key, mid 1, end); // 在陣列的後半部繼續進行二分查找

//否則,如果中間值大於被尋找的數,則將尾索引重新移至中間-1的位置,這樣可以篩選掉一半的數字!

} else if (arr[mid] > key) {

//開始遞迴!

return binary(arr, key, start, mid - 1);

} else {

//否者就是找到了,回傳該索引!

return mid;

}

}

}

如何使用遞歸演算法實現Java二分法查找

#

高手程式設計 JAVA語言用遞歸演算法和 1 2 3 4 100或是11 13 15

第一題:

public class CalSum {

public static void main(String[] args)是Java程式的入口點,是程式執行的起始位置。在這個方法中,可以編寫程式的主要邏輯和功能。這個方法必須按照特定的格式定義,才能被Java虛擬機器呼叫執行。在main方法的參數清單中,args是字串數組,可以用來接收命令列參數。透過在main方法中編寫程式碼,我們可以實現各種各樣的功能,例如列印輸出、計算、循環、條件判斷等

{

CalSum calSum = new CalSum();

int result = calSum.calculate(100); // 呼叫calSum物件的calculate方法,傳入參數100,並將結果賦值給result變數。

System.out.println("1 2 3 ... 100的總和等於" result);

}

public int calculate(int number)

{

int result = 0;

if(number == 1)

{

result = 1;

}

else

{

result = number calculate(number - 1);的結果是將目前的number與number-1的回傳值相加。這個表達式可以用遞歸的方式來計算,每次遞歸呼叫時,number的值會減1,直到number等於1時停止遞歸。遞歸呼叫的回傳值會不斷累加到最終的結果中。這樣,我們可以得到一個數列的和。

}

return result;

}

}

java裡遞歸和迭代分別是什麼演算法啊

迭代是普通的循環。

例:從1加到10

int sum=0

for(int i=0;i

sum=sum i;

}

遞歸是指一個函數直接或間接呼叫自己。

好比:從前有個廟廟裡有個大和尚和小和尚,大和尚叫小和尚講故事,小和尚說從前有個廟廟裡有個大和尚和小和尚,小和尚叫大和尚講故事,大和尚接著說從前有個廟廟裡有個大和尚和小和尚,他們每天一起修行學習佛法。

遞迴的特性:

必有三個條件:

1. 間接或直接呼叫自己。

2. 進行遊戲時,一定要設定退出的條件,例如大和尚口乾了不再聽故事。如果沒有設定退出條件,遊戲可能會陷入死循環。

3。要有邏輯體(想要做的事);

public int sum(int x){

if(x

return x;

}

return x sum(x-1);

}

int s=10;

int total=sum(s);

該範例中,sum函數總是呼叫自己,return x sum(x-1);

sum有退出條件, x

最後的結果是把 10 9 8 7 ... 1 回傳

在許多情況下,迭代和遞歸都可以實現相同的功能,但是有些功能迭代無法完成。此外,遞歸的程式碼更簡潔,熟練使用遞歸可以提高程式碼品質。

以上是如何使用遞歸演算法實現Java二分法查找的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
威爾R.E.P.O.有交叉遊戲嗎?
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

發現如何在Windows設置中修復驅動健康警告 發現如何在Windows設置中修復驅動健康警告 Mar 19, 2025 am 11:10 AM

Windows設置中的驅動器健康警告是什麼意思?收到磁盤警告時該怎麼辦?閱讀本php.cn教程以獲取逐步說明以應對這種情況。

如何編輯註冊表? (警告:謹慎使用!) 如何編輯註冊表? (警告:謹慎使用!) Mar 21, 2025 pm 07:46 PM

文章討論了編輯Windows註冊表,預防措施,備份方法以及不正確的編輯中的潛在問題。主要問題:系統不穩定和數據丟失的風險不當變化。

如何管理Windows的服務? 如何管理Windows的服務? Mar 21, 2025 pm 07:52 PM

文章討論了管理系統健康的Windows服務,包括啟動,停止,重新啟動服務以及穩定性的最佳實踐。

如何修復蒸汽雲錯誤?嘗試這些方法 如何修復蒸汽雲錯誤?嘗試這些方法 Apr 04, 2025 am 01:51 AM

蒸汽雲錯誤可能是由於許多原因引起的。要順利玩遊戲,您需要採取一些措施來刪除此錯誤,然後才能啟動遊戲。 PHP.CN軟件在這篇文章中介紹了一些最佳方法以及更多有用的信息。

Windows元數據和Internet服務問題:如何解決? Windows元數據和Internet服務問題:如何解決? Apr 02, 2025 pm 03:57 PM

您可能會看到“無法建立與Windows Metadata和Internet Services(WMI)的連接”。事件查看器的錯誤。 PHP.CN的這篇文章介紹瞭如何刪除Windows元數據和Internet服務問題。

如何更改文件類型的默認應用程序? 如何更改文件類型的默認應用程序? Mar 21, 2025 pm 07:48 PM

文章討論了更改Windows上文件類型的默認應用程序,包括恢復和批量更改。主要問題:沒有內置散裝更改選項。

如何解決KB5035942更新問題 - 崩潰系統 如何解決KB5035942更新問題 - 崩潰系統 Apr 02, 2025 pm 04:16 PM

KB5035942更新問題 - 用戶通常發生崩潰系統。受到的人們希望找到擺脫困境的出路,例如崩潰系統,安裝或聲音問題。針對這些情況,這篇文章由Php.cn Wil發表

如何使用組策略編輯器(gpedit.msc)? 如何使用組策略編輯器(gpedit.msc)? Mar 21, 2025 pm 07:48 PM

本文介紹瞭如何在Windows中使用組策略編輯器(GPEDIT.MSC)來管理系統設置,突出顯示常見的配置和故障排除方法。它指出gpedit.msc在Windows Home Edition中不可用,建議

See all articles