需求:查找数组中某个元素的下标
实现方法:二分法查找(折半查找,每次把表分成两半,因为已经排好序,所以每次只需要和中间的数比较,就能确定要查找的值在哪一半,然后不断分成两半,直到匹配,如果没有找到,则表示没有该元素)
public static int find(int x) {
int[] intsz = new int[] { 10, 22, 36, 47, 58, 69, 79, 83 };
int min = 0;
int max = intsz.length - 1;
while (min <= max) {
int y = (min + max) / 2;
int value = intsz[y];
if (x > value) {
min = y + 1;
} else if (x < value) {
max = y - 1;
} else {
return y;
}
}
return -1;
}
public static void main(String args[]) {
System.out.println("元素下标为:"+find(79));
}
需求:一个目录下有文件、文件夹,文件夹下又有子目录,统计该目录中所有的文件目录
实现方法:递归(程序调用自身的编程技巧称为递归)
public static void main(String args[]) {
System.out.println(digui("D:\\test"));
}
static int x = 0;
static int y = 0;
public static int digui(String path) {
File file = new File(path);
if (!file.isDirectory()) {
System.out.println("不是目录");
} else if (file.isDirectory()) {
String[] filelist = file.list();
for (int i = 0; i < filelist.length; i++) {
File delfile = new File(path + "\\" + filelist[i]);
if (delfile.isDirectory()) {
x++;
System.out.println(path + "\\" + filelist[i]);
digui(path + "\\" + filelist[i]);
}else if(!delfile.isDirectory()){
y++;
System.out.println(path + "\\" + filelist[i]);
}
}
}
return y;
}
分享到:
相关推荐
使用二分法搜索的技术去搜索一个数组中元素,其中包括递归方法和非递归方法。欢迎大家评阅后给我一点好的建议,谢谢哦。
二分搜索,也被称为折半查找,是一种在有序数组中查找特定元素的高效算法。它主要利用了分治策略,将问题规模不断减半,从而快速定位目标值。本篇文章将详细探讨二分搜索的递归和非递归实现。 首先,我们来看递归...
二分法,也称为折半搜索,是一种在有序数组中查找特定元素的搜索算法。它通过不断将查找区间减半,快速定位目标值。在数值分析领域,二分法也被用于求解方程,特别是连续函数的零点。在本案例中,我们将探讨如何用...
"数据结构快速排序二分法查找" 快速排序和二分法查找是数据结构中两个非常重要的概念,它们都是解决实际问题的重要工具。在本文中,我们将详细介绍快速排序和二分法查找的原理、实现和应用。 快速排序 快速排序...
1. **递归实现**:上述代码采用了递归的方式实现了二分法查找。`search` 函数接收四个参数:数组 `a`、查找范围的起始索引 `from`、结束索引 `to` 和目标值 `key`。 2. **终止条件**:当 `to 时,表示当前查找范围...
**易语言有序二分法查找**是一种在已排序的数据序列中快速查找特定元素的高效算法。易语言,作为中国本土的编程语言,以其简洁的语句和易学性深受初学者喜爱。在这个主题中,我们将深入探讨有序二分法查找的原理、...
2. 使用循环或递归实现查找逻辑,其中包含计算中间位置、比较和调整边界等操作。 3. 根据查找结果输出相应的信息。 C#中还可以利用内置的`.FindIndex()`方法或`Array.BinarySearch()`函数来实现二分查找,这些方法...
分别用递归和非递归方法实现二分查找算法 的完整程序,indexof()返回的是循环实现的二分法查找,getindex()实现的是递归算法实现的二分法查找。
### 二分法数据查找C语言实现 #### 知识点概述 二分查找(Binary Search),也称为折半查找,是一种在有序数组中查找某一特定元素的搜索算法。二分查找采用分而治之的策略,通过将查找区间分成前后两部分来减少...
在这个C++实现中,我们将探讨四种不同的二分法查找版本:递归健忘版、非递归健忘版、递归非健忘版以及非递归非健忘版。 1. **递归健忘版**: 这种版本通常不考虑已查找过的区间,而是每次都从整个数组开始。递归...
递归版本的二分查找需要定义递归结束的基准条件,当数组为空时返回False,表示查找失败;如果数组只有一个元素并且与目标值相等时返回True,表示查找成功;否则,将数组分为两部分,根据中间元素与目标值的比较结果...
顺序查找和二分法查找是两种常见的数据查找技术,在计算机科学和编程中有着广泛的应用。它们主要用于在已排序或未排序的数据集合中寻找特定的元素。下面将详细讲解这两种查找方法,以及与之相关的二叉搜索树的概念。...
二分法查找,又称折半查找,是一种在有序数组中搜索特定元素的高效算法。它充分利用了数组的索引特性,将查找范围不断减半,从而显著降低了查找时间。二分法查找通常在数据结构与算法的学习中占有重要地位,是理解和...
### 冒泡排序、快速排序和二分法查找的分析:Java实现 #### 冒泡排序(Bubble Sort) 冒泡排序是一种简单的排序算法,它重复地遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列...
在Python中,二分查找可以采用循环或递归的方式来实现。以下是基于递归的二分查找算法的实现方法: 首先,我们需要理解递归的基本概念。递归是指一个函数在其定义中调用自身的过程。在二分查找中,我们将问题分解为...
本资源“C# 简单的冒泡、快速排序及二分法查找.zip”显然关注的是数据排序和查找算法的实现,这些都是计算机科学和编程的基础知识。 首先,我们来探讨冒泡排序(Bubble Sort)。这是一种简单的交换排序方法,适用于...
本资料包聚焦于"Java常用排序算法"和"程序员必须掌握的8大排序算法",并深入探讨了"二分法查找"这一高效搜索技术。 首先,我们来看八大排序算法。这些算法包括: 1. **冒泡排序**:最简单的排序方法,通过不断交换...