1. 程式人生 > 程式設計 >Java遞迴基礎與遞迴的巨集觀語意例項分析

Java遞迴基礎與遞迴的巨集觀語意例項分析

本文例項講述了Java遞迴基礎與遞迴的巨集觀語意。分享給大家供大家參考,具體如下:

1.什麼是遞迴

本質上,將原來的問題,轉化為更小的同一問題

2.例子分析

假設我們需要對陣列進行求和操作(只是為了更好理解遞迴程式)

要求如下:求解從索引為0到n-1的陣列元素和。

分析:

為了能求解從索引為0到n-1的陣列元素和,可以分解為第0個數加上索引從1到n-1的陣列元素和,如下:

Java遞迴基礎與遞迴的巨集觀語意例項分析

此時求解索引從1到n-1的陣列元素和的規模比求解從索引為0到n-1的陣列元素和要少一個數以此類推,如下:

Java遞迴基礎與遞迴的巨集觀語意例項分析

.......

最基本問題:

Java遞迴基礎與遞迴的巨集觀語意例項分析

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

對上述程式碼的分析:

Java遞迴基礎與遞迴的巨集觀語意例項分析

總結:

1、遞迴函式就是一個函式,完成一個功能,自己呼叫自己。
2、巨集觀語意為問題更小的子過程。

更多關於java演算法相關內容感興趣的讀者可檢視本站專題:《Java資料結構與演算法教程》、《Java操作DOM節點技巧總結》、《Java檔案與目錄操作技巧彙總》和《Java快取操作技巧彙總》

希望本文所述對大家java程式設計有所幫助。