`
xusulong
  • 浏览: 80980 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

算法导论 二分查找

阅读更多
/**
 * @author xusulong
 * input:已排序的序列A(从小到大),数v
 * output:v在A中的位置(下标)
 */
public class BinarySearch {
	public static int binerySearch(int[] A, int key, int start, int end) {
		int index = 0;
		int middle = (start + end)/2;
		int middleKey = A[middle];
		if(key == middleKey) {
			index = middle;
		} else if(key < middleKey){
			index = binerySearch(A, key, start, middle);
		} else {
			index = binerySearch(A, key, middle + 1, end);
		}
		return index;
	}
	
	public static void main(String[] args) {
		int[] A = new int[] {1,2,3,4,5,6,7,8,9,10};
		int key = 1;
		System.out.println(binerySearch(A, key, 0, 9));
	}
}
 
分享到:
评论

相关推荐

    算法导论二分查找算法

    ### 二分查找算法 #### 一、二分查找算法简介与原理 二分查找算法是一种高效的搜索技术,主要用于在已排序的数组中查找特定元素。该算法的基本思想是在每一步将查找区间减半,直至找到目标元素或者查找区间为空。 ...

    算法导论第二版课后答案完全版

    在《算法导论》中,知识点涵盖了基础数据结构(如数组、链表、栈、队列、树和图)、排序与搜索算法(如冒泡排序、选择排序、插入排序、快速排序、归并排序、二分查找、哈希表等)、图算法(如最短路径算法Dijkstra、...

    算法导论(第二版)清晰版

    这些算法在日常编程工作中都有广泛的应用,例如,排序算法中的快速排序、归并排序,搜索算法中的二分查找、广度优先搜索等,都是解决实际问题的基础工具。 书中不仅详尽地描述了每种算法的实现步骤,还提供了丰富的...

    算法导论第二版课后答案中文完全版

    快速排序、归并排序、堆排序、二分查找、广度优先搜索和深度优先搜索等经典算法的解答,有助于读者深入理解它们的工作原理,从而能够熟练运用在实际编程中。 递归和递推是算法设计中的常见技巧,答案中对这些问题的...

    算法导论 中文 第三版 高清

    2. 搜索算法:如二分查找、广度优先搜索(BFS)和深度优先搜索(DFS),在数据检索和图形遍历中十分常见,能够高效地定位目标元素或解决路径问题。 3. 图算法:包括最短路径算法(Dijkstra算法、Floyd-Warshall算法)和...

    算法导论第四版 英文

    《算法导论第四版》涉及了如红黑树、B树、二叉搜索树、平衡查找树、哈希表、图的搜索算法(深度优先搜索和广度优先搜索)以及最小生成树、最短路径问题等高级主题。这部分内容为读者提供了处理更复杂数据结构和算法...

    算法导论.rar

    1. **基础算法**:排序(如冒泡排序、快速排序、归并排序)、搜索(如二分查找、广度优先搜索、深度优先搜索)等基础算法的原理与实现,这些是计算机科学中的基石。 2. **数据结构**:数组、链表、栈、队列、树...

    算法导论中文第三版习题答案

    2. 设计和实现算法:书中提供了许多经典的算法,如快速排序、归并排序、二分查找等,读者需要学会如何编写这些算法的代码。 3. 数学应用:部分习题涉及到概率、图论、组合数学等领域的知识,这些是理解和设计某些...

    算法导论试题及答案

    2. **搜索算法**:二分查找、广度优先搜索(BFS)、深度优先搜索(DFS)等,以及在图和树结构中的应用。 3. **图算法**:Dijkstra算法、Floyd-Warshall算法、Prim算法和Kruskal算法等,用于解决最短路径问题和最小...

    算法导论 中英文高清版本

    同时,还深入探讨了排序和搜索算法,如冒泡排序、快速排序、归并排序、二分查找、哈希表等。此外,书中也讲解了图论中的核心算法,如最短路径算法(Dijkstra、Floyd-Warshall、Bellman-Ford)、最小生成树(Prim、...

    mit算法导论期末试题+答案原版

    - **二分查找**:在有序数组中查找指定元素的高效方法。 - **图算法**: - **广度优先搜索(BFS)**:从根节点开始,逐层访问所有节点。 - **深度优先搜索(DFS)**:沿着树的深度遍历树的节点,尽可能深地搜索树的...

    算法导论及算法导论答案

    搜索算法如二分查找、广度优先搜索和深度优先搜索,则是解决路径寻找和状态空间探索问题的基础;图算法如最短路径算法(Dijkstra算法、Floyd-Warshall算法)和最小生成树(Prim算法、Kruskal算法)在网络优化和社交...

    中科大算法导论期末考试试卷

    同时,查找算法如线性查找、二分查找也可能是考试内容。 2. **数据结构**:数据结构是算法的载体,包括数组、链表、栈、队列、树、图等。学生需要理解它们的特点、操作和应用,如二叉树的遍历、堆的构建与调整、图...

    《算法导论》

    二分查找适用于有序数组,而图的搜索算法则在解决复杂的网络问题时十分关键。 3. **图算法**:书中详细讲解了图的表示方法、最短路径算法(如Dijkstra算法和Floyd-Warshall算法)以及最小生成树算法(如Prim算法和...

    算法导论、算法

    1. 掌握基础算法,如快速排序、归并排序、二分查找等。 2. 学会分析算法的时间和空间复杂度,以便优化程序性能。 3. 了解图算法,如最短路径算法(Dijkstra和Floyd-Warshall)、最小生成树(Prim和Kruskal)等。 4. ...

    算法导论第三版课后习题答案

    **标题与描述中的知识点**:二分查找是一种在有序数组中查找特定元素的高效算法,其基本思想是通过将目标值与数组中间元素比较,每次都将查找范围缩小一半,直到找到目标值或确认不存在为止。 **详细解析**: 1. *...

    算法导论讲义\算法导论讲义算法导论讲义\算法导论讲义

    3. **排序与查找算法**:包括冒泡排序、选择排序、插入排序、快速排序、归并排序、二分查找、哈希表等。这些算法在实际应用中极为常见,对数据组织和处理至关重要。 4. **图算法**:如Dijkstra最短路径算法、Floyd-...

    算法导论习题答案

    本内容选取自《算法导论》一书的习题解答部分,涵盖了选择排序算法和二分查找算法的详解及代码实现。以下是对给定文件内容的详细知识点解读。 选择排序(Selection Sort): 选择排序是一种简单直观的排序算法,它...

    算法导论 算法导论 算法导论

    搜索算法包括二分查找、深度优先搜索和广度优先搜索,这些算法在数据检索和图形遍历中有着广泛的应用。 图算法是另一个重点,包括Dijkstra最短路径算法、Floyd-Warshall所有对最短路径算法和Prim最小生成树算法,...

Global site tag (gtag.js) - Google Analytics