搜索
首页电脑教程电脑知识如何使用递归算法实现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二分法查找

高手编程 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中文网其他相关文章!

声明
本文转载于:Excel办公网。如有侵权,请联系admin@php.cn删除
如何求解Windows错误代码' Invalid_data_access_trap” (0x00000004)如何求解Windows错误代码' Invalid_data_access_trap” (0x00000004)Mar 11, 2025 am 11:26 AM

本文介绍了Windows“ Invalid_data_access_trap”(0x00000004)错误,一个关键的BSOD。 它探讨了常见原因,例如故障驱动程序,硬件故障(RAM,硬盘驱动器),软件冲突,超频和恶意软件。 特鲁

如何编辑注册表? (警告:谨慎使用!)如何编辑注册表? (警告:谨慎使用!)Mar 21, 2025 pm 07:46 PM

文章讨论了编辑Windows注册表,预防措施,备份方法以及不正确的编辑中的潜在问题。主要问题:系统不稳定和数据丢失的风险不当变化。

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

文章讨论了管理系统健康的Windows服务,包括启动,停止,重新启动服务以及稳定性的最佳实践。

发现如何在Windows设置中修复驱动健康警告发现如何在Windows设置中修复驱动健康警告Mar 19, 2025 am 11:10 AM

Windows设置中的驱动器健康警告是什么意思?收到磁盘警告时该怎么办?阅读本php.cn教程以获取逐步说明以应对这种情况。

哪个应用程序使用ene.sys哪个应用程序使用ene.sysMar 12, 2025 pm 01:25 PM

本文将ene.sys视为Realtek高清音频驱动程序组件。 它详细介绍了其在管理音频硬件方面的功能,并强调了其在音频功能中的关键作用。 该文章还指导用户验证其合法性

为什么驱动器aSio.sys不加载为什么驱动器aSio.sys不加载Mar 10, 2025 pm 07:58 PM

本文介绍了Windows asio.sys音频驱动程序的故障。 常见原因包括损坏的系统文件,硬件/驱动程序不兼容,软件冲突,注册表问题和恶意软件。故障排除涉及SFC扫描,驱动程序UPDA

如何使用组策略编辑器(gpedit.msc)?如何使用组策略编辑器(gpedit.msc)?Mar 21, 2025 pm 07:48 PM

本文介绍了如何在Windows中使用组策略编辑器(GPEDIT.MSC)来管理系统设置,突出显示常见的配置和故障排除方法。它指出gpedit.msc在Windows Home Edition中不可用,建议

如何更改文件类型的默认应用程序?如何更改文件类型的默认应用程序?Mar 21, 2025 pm 07:48 PM

文章讨论了更改Windows上文件类型的默认应用程序,包括恢复和批量更改。主要问题:没有内置散装更改选项。

See all articles

热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.能量晶体解释及其做什么(黄色晶体)
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
3 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

将Eclipse与SAP NetWeaver应用服务器集成。

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

功能强大的PHP集成开发环境

螳螂BT

螳螂BT

Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

安全考试浏览器

安全考试浏览器

Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)