تم تقديم تسلسل Fibonacci ، المعروف أيضًا باسم تسلسل التقسيم الذهبي ، عالم الرياضيات Leonardoda Fibonacci [1]) مع تربية الأرنب كمثال ، لذلك يطلق عليه أيضًا "تسلسل الأرنب" ، والذي يشير إلى تسلسل: 0 ، 1 ، 2 ، 3 ، 5 ، 8 ، 21 ، 34 ، ... F (0) = 0 ، f (1) = 1 ، f (n) = f (n-1)+f (n-2) (n≥2 ، n∈N*) في الفيزياء الحديثة ، بنية الكواكب ، الكيمياء وغيرها من الحقول ، تسلسلات fibonacci لها تطبيقات مباشرة. لهذا السبب ، نشرت الجمعية الرياضية الأمريكية مجلة رياضية تسمى "Fibonacci Sequence Quarterly" منذ عام 1963 لنشر نتائج البحوث على وجه التحديد في هذا المجال.
أدناه أقوم بتنفيذ الطرق المختلفة للروح وعدم التعاقد في لغة جافا:
الفئة العامة fiibonacii {// استخدم الأساليب العودية لتنفيذ تسلسل Fibonacci ثابت int feibonacci1 (int n) {if (n == 0) {return 0 ؛} if (n == 1) {return 1 ؛} return feibonacci1 (n-1)+feibonacci1 (n-2) ؛ } // استخدم طرقًا غير متكررة لتنفيذ تسلسل Fibonacci العام الثابت int feibonacci2 (int n) {int arr [] = new int [n+1] ؛ arr [0] = 0 ؛ arr [1] = 1 ؛ لـ (int i = 2 ؛ i <= n ؛ i ++) {arr [i] = arr [i-1]+arr [i-2] ؛ } return arr [n] ؛ } main static void main (string [] args) {for (int i = 40 ؛ i <= 45 ؛ i ++) {system.out.println ("feibonaci1 i ="+i+"، vaule ="+feibonaci1 (i)) ؛ } لـ (int i = 40 ؛ i <= 45 ؛ i ++) {system.out.println ("feibonaci2 i ="+i+"، vaule ="+feibonaci2 (i)) ؛ }}}من الواضح أن الطريقة العودية 43 يتم تنفيذها ببطء نسبيًا بعد التنفيذ ، في حين أن تنفيذ الطريقة غير المثيرة للارتداد سريع للغاية.
تحليل:
(1) تستخدم Java طرقًا لتنفيذ تسلسل Fibonacci بشكل متكرر. يتم تنفيذ Feibonaci1 (45) مرة واحدة. Java ينفذ الطريقة Feibonaci1 مع 2^44+2^43+...+2^1+1 مرات. Feibonaci2 (45) ، يتم تنفيذ الطريقة مرة واحدة فقط ، ولكن عدد الحسابات هو نفس العدد من Feibonaci1.
الخلاصة: تصف Java تسلسل Fibonacci ، والتي تكون أكثر ملاءمة للحساب باستخدام الطرق غير المتجددة.
ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.