数据结构和算法是一个程序的灵魂,优化程序的主要手段。在查询里,分为静态查询和动态查询。有序表是静态查询的一种,在。有序表查找过程中,可以用折半查找实现。代码如下:
Java代码
package Array;
/**
* 折半查找
* @author luozhong
*
*/
public class ArrayTest_lesson1 {
//定义数组
int array[]=new int[]{0,1,2,3,4,5,6,7,8,9};
//定义三个变量
int low, mid,high;
public static void main(String args[]){
new ArrayTest_lesson1().init(9);
}
public void init(int temp){
//此变量指着第一个元素
low=1;
//此变量指着末元素
high=array.length;
//调用查询方法
int key=Index(low,high,temp);
System.out.println("查询结果为:"+key);
}
private int Index(int low2, int high2, int temp) {
//判断循环的条件
while(low2<=high2){
mid=(low2+high2)/2;
//判断是否与查询值相等,返回索引位置
if(temp==array[mid]) return mid;
//如果小于数组元素
else if(temp<array[mid]) high2=mid-1;
////如果大于数组元素
else low2=mid+1;
}
return 0;
}
}
折半查找的性能分析,他查找的过程可用二叉树来描述。折半查找在查找不成功时候和给定值进行比较关键字个数最多也不超过{logn/log2}+1.
假设表中每个记录查找概率相等(p=1/n),则查找成功时的折半查找的平均查找长度如图:
分享到:
相关推荐
《Java数据结构和算法中文第二版》是一本深入探讨Java编程中数据结构和算法的书籍。数据结构是计算机科学的基础,它涉及到如何有效地组织和存储数据,以便在各种操作下高效地访问和修改。算法则是解决问题的具体步骤...
本文将详细解析标题“java二分搜索法程序,分行显示”所涉及的Java编程技术,包括二分搜索法的原理、实现以及如何结合数据结构进行文字处理。 首先,我们来了解**二分搜索法**(Binary Search)。它是一种在有序...
根据提供的信息,“Java数据结构和算法中文第二版”这本书主要关注的是数据结构与算法的相关内容。下面将基于这些信息,详细介绍数据结构与算法的核心概念、重要性和应用领域,以及在Java编程环境中如何实现这些概念...
根据提供的文件信息,本部分将对“JAVA版数据结构.pdf”中的内容进行知识点的详细说明。 1. 数据结构基础概念 文中提到了数据结构(Data Structures)和Java语言的结合,这表明文档可能涉及数据结构在Java中的实现...
在学习Java数据结构时,会涉及递归、排序算法(如冒泡排序、选择排序、快速排序、归并排序)、查找算法(如二分查找、哈希查找)等内容。同时,还会学习如何通过抽象数据类型(ADT)和接口来设计和实现自定义的数据...
在这个名为“数据结构JAVA实现”的压缩包中,我们可以看到作者提供了三种重要的数据结构——链表、有序二叉树和队列的Java代码实现。 首先,让我们详细探讨链表。链表是一种线性数据结构,与数组不同,它不连续存储...
数据结构是计算机科学中的核心概念,它涉及到如何有效地组织和管理数据,以便于高效地进行存储、检索和处理。在Java编程环境下,理解和掌握数据结构对于程序员来说至关重要,特别是对于初学者,它可以帮助提升编程...
《Java数据结构和算法》(第2版)是一本深入探讨计算机编程中核心主题的数据结构和算法的中文著作。本书旨在帮助读者理解如何有效地管理和操作数据,以优化程序的性能。在Java编程环境下,掌握数据结构和算法是提升...
在《数据结构与算法分析》中,作者不仅讲解了多种排序算法,如冒泡排序、选择排序、插入排序、快速排序、归并排序、堆排序等,还深入探讨了查找算法,包括线性查找、二分查找、哈希查找等,并分析了它们在时间复杂度...
查找算法包括顺序查找、二分查找、哈希查找等,其中二分查找在有序数组中非常高效。 在Java中,这些数据结构和算法可以通过内置类(如ArrayList、LinkedList、TreeSet等)或者自定义实现。了解何时以及如何使用这些...
在Java编程语言中,数据结构的应用是至关重要的,它直接影响到程序的效率和性能。...在Java中,数据结构的应用实例涵盖了排序和查找算法,如冒泡排序、快速排序、二分查找等,这些都是程序员必须掌握的基础技能。
《Java数据结构全套》是针对Java编程语言深入学习数据结构的重要资源集合,涵盖了从基本概念到高级应用的全面知识体系。这个压缩包包含了四部分关键内容:叶核亚编著的《数据结构(Java版)(第3版)》电子教案、...
Java数据结构是编程领域中的重要基础,它涉及如何在计算机中高效地组织和管理数据,以便进行快速查找、插入和删除等操作。本主题主要关注Java语言实现的数据结构及其相关算法,这对于提升程序性能和解决复杂问题至关...
在Java编程领域,数据结构是不可或缺的基础知识,它关乎到程序的效率和可维护性。这份"Java版数据结构学习资料"提供了丰富的学习资源,包括PPT和实践代码,旨在帮助学习者深入理解数据结构并提升编程能力。下面将...
2. **查找算法**:顺序查找、二分查找、哈希查找,以及这些算法在不同数据结构上的应用。 3. **动态规划**:解决最优化问题,如背包问题、最长公共子序列、斐波那契数列等。 4. **贪心算法**:局部最优解策略,如...
《清华邓俊辉Java数据结构》是一门深入探讨数据结构及其在Java编程语言中实现的课程。这门课程由清华大学的邓俊辉教授主讲,旨在帮助学生掌握数据结构的基本概念,理解它们的工作原理,并能用Java语言进行实际操作。...
Java数据结构和算法是计算机科学中的核心概念,对于任何Java开发者来说,理解和掌握它们都是至关重要的。本资源包“Java数据结构和算法(第二版)+源代码+Applets”为学习者提供了一个全面且深入的学习平台,涵盖了...
《数据结构(java版)》是一本专为Java程序员设计的教科书,旨在深入探讨如何在Java编程环境中高效地组织和管理数据。数据结构是计算机科学中的核心概念,它研究了如何存储、检索和操作数据,以实现算法的最优性能。在...