Java遞迴基礎與遞迴的巨集觀語意例項分析
阿新 • • 發佈:2020-03-19
本文例項講述了Java遞迴基礎與遞迴的巨集觀語意。分享給大家供大家參考,具體如下:
1.什麼是遞迴
本質上,將原來的問題,轉化為更小的同一問題
2.例子分析
假設我們需要對陣列進行求和操作(只是為了更好理解遞迴程式)
要求如下:求解從索引為0到n-1的陣列元素和。
分析:
為了能求解從索引為0到n-1的陣列元素和,可以分解為第0個數加上索引從1到n-1的陣列元素和,如下:
此時求解索引從1到n-1的陣列元素和的規模比求解從索引為0到n-1的陣列元素和要少一個數以此類推,如下:
.......
最基本問題:
3.程式碼實現本例操作
新建一個package 包名為 Recursion,然後在該包下新建一個SumArray類,相關程式碼如下
package Recursion; public class SumArray { //呼叫 public static int sum(int[] arr) { return sum(arr,0);//0 索引從0開始 } //遞迴實現陣列相加
//l表示索引
private static int sum(int[] arr,int l) { if (l == arr.length) return 0; return arr[l] + sum(arr,l + 1); } //測試 public static void main(String[] args) { int[] nums = {1,2,3,4,5,6,7}; int value = sum(nums); System.out.println(value); } }
結果為:28
對上述程式碼的分析:
總結:
1、遞迴函式就是一個函式,完成一個功能,自己呼叫自己。
2、巨集觀語意為問題更小的子過程。
更多關於java演算法相關內容感興趣的讀者可檢視本站專題:《Java資料結構與演算法教程》、《Java操作DOM節點技巧總結》、《Java檔案與目錄操作技巧彙總》和《Java快取操作技巧彙總》
希望本文所述對大家java程式設計有所幫助。