`
itace
  • 浏览: 180512 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

排序和二分法

 
阅读更多

 

Arrays.sort==递归排序,冒泡排序http://www.cnblogs.com/gw811/archive/2012/10/04/2711746.html

Collections.sort==递归排序,冒泡排序,归并排序http://blog.csdn.net/soul_eatel/article/details/49129465

 

 

http://blog.csdn.net/amazing7/article/details/51603682

 

JDK底层的归并排序和二分法查找代码及改编code

		int[]arr1 = {24,3,53,46,4,64,7,5,8,98,2,3,5,8,35,7,5};
		int[]arr2 = {38,34,3,5,4,3,5,54,7,3,7,63,25,46,42,54,2};
		Arrays.sort(arr1);
		Arrays.sort(arr2);
		int[]arr = new int[arr1.length+arr2.length];
		for (int i = 0, p = 0, q = 0; i < arr.length; i++) {
			if (q >= arr2.length || p < arr1.length && arr1[p]<=arr2[q])
				arr[i] = arr1[p++];
			else
				arr[i] = arr2[q++];
		}
		for (int i : arr) {
			System.out.println(i);
		}

 

	public static int binarySearch(Integer[] arr, int des) {
	    int low = 0;
	    int high = arr.length - 1;
	 
	    while ((low <= high) && (low <= arr.length - 1)
	            && (high <= arr.length - 1)) {
	        int middle = (high + low) >> 1;
	        if (des == arr[middle]) {
	            return middle;
	        } else if (des < arr[middle]) {
	            high = middle - 1;
	        } else {
	            low = middle + 1;
	        }
	    }
	    return -1;
	}

 

 

分享到:
评论

相关推荐

    冒泡排序、快速排序和二分法查找的分析 Java

    ### 冒泡排序、快速排序和二分法查找的分析:Java实现 #### 冒泡排序(Bubble Sort) 冒泡排序是一种简单的排序算法,它重复地遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列...

    数据结构快速排序二分法查找

    "数据结构快速排序二分法查找" 快速排序和二分法查找是数据结构中两个非常重要的概念,它们都是解决实际问题的重要工具。在本文中,我们将详细介绍快速排序和二分法查找的原理、实现和应用。 快速排序 快速排序...

    冒泡 快速排序 选择排序 二分法 插入 快速选择

    以下将详细讲解标题和描述中提到的几种排序算法:冒泡排序、快速排序、选择排序、二分法、插入排序以及快速选择排序。 1. **冒泡排序**:冒泡排序是一种简单的比较排序算法。它通过重复遍历待排序的数列,一次比较...

    算法之排序专题 二分法排序等等

    【算法之排序专题】本文主要探讨了排序算法,包括简单的排序算法和高级排序算法,特别提到了快速排序和二分法排序。排序算法在处理大量数据时扮演着关键角色,因此对算法效率的要求非常高。衡量算法效率的主要指标是...

    冒泡排序以及二分法查询

    冒泡排序以及二分法查询冒泡排序以及二分法查询冒泡排序以及二分法查询冒泡排序以及二分法查询冒泡排序以及二分法查询

    c++ 二分法查找 二分法排序 混合排序 希尔排序 插入排序

    binary sort,二分法查找,binary search, 二分法排序,merge sort 混合排序,shell sort 希尔排序,insertion sort 插入排序。数据结构 data structure

    二分法排序和查找(C#)

    在C#中,二分法排序和查找的性能分析如下: - 二分查找的时间复杂度为O(log n),空间复杂度为O(1)。这是因为每次迭代都将搜索范围减半,所以查找效率非常高。 - 二分插入排序的平均和最坏情况时间复杂度为O(n^2),...

    二分法排序算法 C语言实现

    根据给定的文件信息,我们可以总结出以下关于“二分法排序算法C语言实现”的相关知识点: ### 1. 二分法搜索算法原理 二分法搜索算法,也称为折半查找算法,是一种在有序数组中查找特定元素的搜索算法。其基本思想...

    二分法直接插入排序算法

    而“二分法直接插入排序”则是对传统直接插入排序的一种优化,它利用了二分查找的特性来减少在排序过程中查找插入位置的时间复杂度。 直接插入排序的基本步骤如下: 1. 假设数组中的第一个元素已经排序,从第二个...

    java 冒泡算法和插入法排序,二分法查找

    本文将深入探讨Java中的冒泡排序、插入排序以及二分法查找这三种基础算法,这些都是面试时经常会被问到的技术点。 首先,让我们从冒泡排序开始。冒泡排序是一种简单直观的排序算法,它重复地遍历待排序的数列,一次...

    实现直接插入排序,二分法插入排序、希尔排序,冒泡排序,快速排序,直接选择排序的算法.pdf

    在本文中,我们将深入探讨五种常见的排序算法:直接插入排序、二分法插入排序、希尔排序、冒泡排序和快速排序,并对其实现进行详细的解释。 直接插入排序 直接插入排序是一种简单的排序算法,它的实现思路是:从第...

    用javascript实现的十大排序算法详解

    在编程领域,排序算法是计算机科学的基础之一,它在数据处理和分析中起着至关重要的作用。本篇文章将深入探讨如何使用JavaScript实现十大经典排序算法,帮助开发者更好地理解和运用这些算法。 1. 冒泡排序(Bubble ...

    C# 简单的冒泡、快速排序及二分法查找.zip

    本资源“C# 简单的冒泡、快速排序及二分法查找.zip”显然关注的是数据排序和查找算法的实现,这些都是计算机科学和编程的基础知识。 首先,我们来探讨冒泡排序(Bubble Sort)。这是一种简单的交换排序方法,适用于...

    新技术培训 培训讲义6_排序算法.doc

    本篇讲义主要探讨了两种常见的排序算法:插值法排序和二分法排序,它们都是针对数组排序的有效方法,对于理解排序原理和优化程序性能具有重要意义。 插值法排序是一种简单直观的排序算法,它的基本思想是从第一个...

    C语言实现的二分法快速查找|二分法排序|二分法查找C#

    C#中还可以利用内置的`.FindIndex()`方法或`Array.BinarySearch()`函数来实现二分查找,这些方法提供了更简洁的语法和更好的性能。 ### 结论 二分查找作为一种高效的搜索算法,在处理大量有序数据时展现出强大的...

    Java常用高效8大排序算法与二分法查找

    本文将深入探讨Java中常用的八大排序算法以及二分法查找,旨在帮助算法爱好者和开发人员提升解决问题的能力。 首先,让我们来看Java中的八大排序算法: 1. 冒泡排序:这是一种简单的排序方法,通过重复遍历待排序...

    Java常用排序算法&程序员必须掌握的8大排序算法+二分法查找

    本资料包聚焦于"Java常用排序算法"和"程序员必须掌握的8大排序算法",并深入探讨了"二分法查找"这一高效搜索技术。 首先,我们来看八大排序算法。这些算法包括: 1. **冒泡排序**:最简单的排序方法,通过不断交换...

    Java使用二分法进行查找和排序的示例

    二分法是计算机科学中一种高效查找和排序的算法,主要应用于处理有序数据。在Java中,二分法被广泛用于提高数据检索速度。本文将详细介绍如何在Java中使用二分法进行查找和排序。 首先,我们来看二分查找算法。二分...

    算法与数据结构课件PPT第八章

    插入排序算法可以分为直接插入排序和二分法插入排序两种。 直接插入排序:直接插入排序是将无序区间的记录一个一个地插入到有序区间中,使整个记录序列变得有序。其主要思想是将无序区间的记录与有序区间的记录进行...

    Chap算法与数据结构—C语言描述第张乃孝编PPT课件.pptx

    插入排序是内排序的一种,包括直接插入排序和二分法插入排序。直接插入排序的基本思想是从第二个元素开始,将其依次插入到已排序的序列中。二分法插入排序则改进了这个过程,通过二分查找确定元素的正确位置,减少了...

Global site tag (gtag.js) - Google Analytics