如何使用遞歸演算法實現Java二分法查找
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語言用遞歸演算法和 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中文網其他相關文章!

熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

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

熱門話題

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

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

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

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

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

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