您好,欢迎光临本网站![请登录][注册会员]  

搜索资源列表

  1. 分治算法实现快速排序

  2. 用分治算法的思想,加上递归 实现快速排序
  3. 所属分类:其它

    • 发布日期:2009-07-17
    • 文件大小:1024
    • 提供者:hehailin555
  1. 分治策略——快速排序

  2. 快速排序有很多不同的算法来解决,在此我是用C++来编写这个程序的,根据快速排序的算法思想,很容易将此问题解决。还可以运用非递归的方法解决,但是我不熟练。
  3. 所属分类:其它

    • 发布日期:2009-10-27
    • 文件大小:586
    • 提供者:minnyjx
  1. 快速排序(quicksort)的迭代样式

  2. 用分治的思想模拟快速排序的迭代过程,快速排序平均运行时间可以和Heapsort媲美
  3. 所属分类:C/C++

    • 发布日期:2009-11-26
    • 文件大小:2048
    • 提供者:sunnier_1
  1. 算法艺术-分治与递归

  2. 快速排序的分治思想 时间复杂度分析 数学归纳法 Karatsuba快速乘法 Strassen矩阵乘法
  3. 所属分类:其它

    • 发布日期:2010-05-16
    • 文件大小:1048576
    • 提供者:longer124815
  1. 快速排序算法

  2. 实现了快速排序的基本算法,程序可以正常运行。 其实快速排序的核心思想是分治策略,即先分解再递归求解,最后再合并。具体来说就是在待排序记录序列中选取一个记录(通常先选取第一个记录)为驱轴,其关键字设为K1,然后将其余关键字小于K1的记录移到前面,而将关键字大于K1的记录移到后面,这样K1就将记录分成了两部分,这有点类似于二分查找。在一次划分之后,对分割后的子表继续按上述原则进行分割,直到所有的子表长不超过1为止,此时待排序记录序列就变成了一个有序表。
  3. 所属分类:C

    • 发布日期:2012-11-05
    • 文件大小:755
    • 提供者:lwp225
  1. 快速排序寻找第k小的数

  2. 用快速排序的方法寻找序列中第k小的元素,算法课后练习题,分治的思想
  3. 所属分类:C/C++

  1. java写的基于比较的各种排序算法

  2. java写的基于比较的各种排序算法,都是一个一个的小函数。简单排序包括:选择排序,插入排序,折半插入排序,冒泡排序。 分治思想的排序包括:归并排序,快速排序,堆排序。 程序把随机生成的整数进行排序,开始时用1到7选择用哪种排序(没有图形界面,算法为主),堆排序较为特殊,见注释。 有问题到博客中该篇文章下欢迎反馈交流~
  3. 所属分类:Java

    • 发布日期:2013-05-29
    • 文件大小:5120
    • 提供者:felicitia
  1. 15个典型的递归算法的JAVA实现

  2. 15个典型的递归算法的JAVA实现,求N的阶乘、欧几里德算法(求最大公约数)、斐波那契数列、汉诺塔问题、树的三种递归遍历方式、快速排序、折半查找、图的遍历、归并排序、八皇后问题(回溯、递归)、棋盘覆盖(分治,递归)、Strassen矩阵乘法(分治)、最近点对问题(分治+递归)、循环赛日程表、凸包问题求解
  3. 所属分类:Java

    • 发布日期:2014-04-02
    • 文件大小:39936
    • 提供者:u011133213
  1. 分治法求近似解和快速排序

  2. 当要求解一个输入规模为n,且n的取值相当大的问题时,的,如果问题可以分成k个不同子集合,得到k个不同的可独立求解的子问题,其中1<k≤n,而且子问题与原问题性质相同,原问题的解可由这些子问题的解合并得出。那末,对于这类问题分治法是十分有效的。本实验就是通过归并排序和快速排序来体现分治的思想。
  3. 所属分类:C/C++

    • 发布日期:2014-06-24
    • 文件大小:47104
    • 提供者:cjz88
  1. java实现快速排序算法

  2. 快速排序算法是基于分治策略的另一个排序算法。其基本思想是:对输入的子数组a[p:r],按以下三个步骤进行排序。 1) 分解(Divide)(2) 递归求解(Conquer)(3) 合并(Merge)
  3. 所属分类:其它

    • 发布日期:2020-09-03
    • 文件大小:109568
    • 提供者:weixin_38653694
  1. C语言数据结构 快速排序实例详解

  2. 主要介绍了C语言数据结构 快速排序实例详解的相关资料,快速排序采用分治的思想,两边数据进行排序,需要的朋友可以参考下
  3. 所属分类:其它

    • 发布日期:2020-08-29
    • 文件大小:39936
    • 提供者:weixin_38620839
  1. 快速排序的算法思想及Python版快速排序的实现示例

  2. 快速排序是C.R.A.Hoare于1962年提出的一种划分交换排序。它采用了一种分治的策略,通常称其为分治法(Divide-and-ConquerMethod)。 1.分治法的基本思想 分治法的基本思想是:将原问题分解为若干个规模更小但结构与原问题相似的子问题。递归地解这些子问题,然后将这些子问题的解组合为原问题的解。 2.快速排序的基本思想 设当前待排序的无序区为R[low..high],利用分治法可将快速排序的基本思想描述为: (1)分解: 在R[low..high]中任选一个记录作为基准(
  3. 所属分类:其它

    • 发布日期:2020-12-25
    • 文件大小:48128
    • 提供者:weixin_38519849
  1. 排序算法:快速排序

  2. 1.快速排序的思想 先从数列中取出一个数作为基准数(简单起见就选第一个数) 分区过程:将比这个数大的数全放到他的右边,比他小的数全放到他的左边(分治) 再对左右两边的区重复第一步和第二部操作,直到各区间只有一个数(递归) 简单来说就是: 快速排序 = 冒泡 + 分治 + 递归 索引 0 1 2 3   数值 11 18 10 12     i=0     j=3 x=11 ps:i表示起始位置,j表示结束位置,x表示基值。 索引 0 1 2 3 《—— 数值
  3. 所属分类:其它

    • 发布日期:2020-12-22
    • 文件大小:41984
    • 提供者:weixin_38562329
  1. C语言数据结构 快速排序实例详解

  2. C语言数据结构 快速排序实例详解 一、快速排序简介 快速排序采用分治的思想,第一趟先将一串数字分为两部分,第一部分的数值都比第二部分要小,然后按照这种方法,依次对两边的数据进行排序。 二、代码实现 #include /* 将两个数据交换 */ void swap(int* Ina , int* Inb) { int temp = *Ina; *Ina = *Inb; *Inb = temp; } /* 进行一趟的快速排序,把一个序列分为两个部分 */ int getPartion
  3. 所属分类:其它

    • 发布日期:2020-12-31
    • 文件大小:43008
    • 提供者:weixin_38690079
  1. [排序算法] 9. 归并排序递归与非递归实现及算法复杂度分析(分治算法、归并排序、复杂度分析)

  2. 文章目录1. 基本思想2. 代码实现2.1 递归实现2.2 优化—非递归实现3. 性能分析 1. 基本思想 在数列排序中,如果只有一个数,那么它本身就是有序的;如果只有两个数,那么一次比较就可以完成排序。也就是说,数越少,排序越容易。那么,如果有一个由大量数据组成的数列,我们很难快速地完成排序,该怎么办呢?可以考虑将其分解为很小的数列,直到只剩一个数时,本身已有序,再把这些有序的数列合并在一起,执行一个和分解相反的过程,从而完成整个数列的排序。 归并排序与快速排序的思想基本一致,唯一不同的是归并
  3. 所属分类:其它

    • 发布日期:2021-01-06
    • 文件大小:610304
    • 提供者:weixin_38743506
  1. 逐步讲解快速排序算法及C#版的实现示例

  2. 算法思想 快速排序是C.R.A.Hoare于1962年提出的一种划分交换排序。它采用了一种分治的策略,通常称其为分治法(Divide-and-ConquerMethod)。 该方法的基本思想是: 1.先从数列中取出一个数作为基准数。 2.分区过程,将比这个数大的数全放到它的右边,小于或等于它的数全放到它的左边。 3.再对左右区间重复第二步,直到各区间只有一个数。 虽然快速排序称为分治法,但分治法这三个字显然无法很好的概括快速排序的全部步骤。因此我的对快速排序作了进一步的说明:挖坑填数+分治法:
  3. 所属分类:其它

    • 发布日期:2021-01-21
    • 文件大小:70656
    • 提供者:weixin_38626192
  1. python快速排序的实现及运行时间比较

  2. 快速排序的基本思想:首先选定一个数组中的一个初始值,将数组中比该值小的放在左边,比该值大的放在右边,然后分别对左边的数组进行如上的操作,对右边的数组进行如上的操作。(分治+递归) 1.利用匿名函数lambda 匿名函数的基本用法func_name  = lambda x:array,冒号左边的x代表传入的参数,冒号右边的array代表返回值,当然名字是可以自己取的。 quick_sort = lambda array: \ array if len(array) <= 1 \
  3. 所属分类:其它

    • 发布日期:2021-01-20
    • 文件大小:76800
    • 提供者:weixin_38715567
  1. c++ 快速排序算法【过程图解】

  2. 第一、算法描述 快速排序由C. A. R. Hoare在1962年提出,该算法是目前实践中使用最频繁,实用高效的最好排序算法, 快速排序算法是采用分治思想的算法,算法分三个步骤 1.从数组中抽出一个元素作为基数v(我们称之为划界元素),一般是取第一个、最后一个元素或中间的元素 2.将剩余的元素中小于v的移动到v的左边,将大于v元素移动到v的右边 3.对左右两个分区重复以上步骤直到所有元素都是有排序好。 第二、算法实现 /*序列划分函数*/ int partition(int a[], int
  3. 所属分类:其它

    • 发布日期:2021-01-20
    • 文件大小:135168
    • 提供者:weixin_38563871
  1. C语言实现快速排序算法

  2. 一、快速排序算法(Quicksort) 1. 定义 快速排序由C. A. R. Hoare在1962年提出。快速排序是对冒泡排序的一种改进,采用了一种分治的策略。 2. 基本思想 通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。 3. 步骤 a. 先从数列中取出一个数作为基准数。 b. 分区过程,将比这个数大的数全放到它的右边,小于或等于它的数
  3. 所属分类:其它

    • 发布日期:2021-01-20
    • 文件大小:72704
    • 提供者:weixin_38706951
  1. PHP快速排序quicksort实例详解

  2. 本文实例讲述了PHP快速排序quicksort。分享给大家供大家参考,具体如下: quicksort 在快速排序算法中,使用了分治策略。首先把序列分成两个子序列,递归地对子序列进行排序,直到整个序列排序结束。(即一分为二的思想) 步骤如下: 在序列中选择一个关键元素做为轴; 对序列进行重新排序,将比轴小的元素移到轴的前边,比轴大的元素移动到轴的后面。在进行划分之后,轴便在它最终的位置上; 递归地对两个子序列进行重新排序:含有较小元素的子序列和含有较大元素的子序列。 比如序列$arr: 5 3 0
  3. 所属分类:其它

    • 发布日期:2021-01-20
    • 文件大小:50176
    • 提供者:weixin_38683562
« 12 3 »