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

搜索资源列表

  1. 各种排序算法的比较与分析

  2. 排序算法的总结: (1)若n较小(如n≤50),可采用直接插入或直接选择排序。  当记录规模较小时,直接插入排序较好;否则因为直接选择移动的记录数少于直接插人,应选直接选择排序为宜。 (2)若文件初始状态基本有序(指正序),则应选用直接插人、冒泡或随机的快速排序为宜; (3)若n较大,则应采用时间复杂度为O(nlgn)的排序方法:快速排序、堆排序或归并排序。  快速排序是目前基于比较的内部排序中被认为是最好的方法,当待排序的关键字是随机分布时,快速排序的平均时间最短;  堆排序所需的辅助空间少
  3. 所属分类:其它

    • 发布日期:2009-10-18
    • 文件大小:22kb
    • 提供者:waterkiller
  1. C++源程序测试数组中有多少个逆序对

  2. 测试输入的数组中有多少个逆序对,本程序在归并排序的基础上实现,时间复杂度为O(nlgn)
  3. 所属分类:C++

    • 发布日期:2010-04-07
    • 文件大小:1kb
    • 提供者:lilith_liu123
  1. 平衡二叉树c++模版

  2. 平衡二叉树c++模版,此模版採用二叉链表实现,是本人一个通宵搞出来的。可以提供时间复杂度在nlgn的排序,也可以提供lgn的查询。是一个很不错的数据结构,可是以和其它的现在比较新的一些数据结构比美。虽然有人对其进行过优化,而且在单个问题上,哈希有时候能取得更好的效过但是,这个数据结构的思想可以给我们很多启发,而且其实现也可以让我们理解树在建立时的过程包括递归,回去时的一些细节
  3. 所属分类:C++

    • 发布日期:2010-10-24
    • 文件大小:38kb
    • 提供者:s6s6ss6
  1. 计算一个数组中逆序对的个数

  2. 设A[1..n]是包含n个不同数的数组,如果iA[j],则(i,j)为一个逆序组,给出时间复杂度为nlgn算法,确定n个任意元素排列中逆序组的个数。
  3. 所属分类:C/C++

    • 发布日期:2011-03-22
    • 文件大小:1kb
    • 提供者:wen_hu
  1. s中是否存在有两个其和等于x的元素

  2. 给出一个运行时间为nlgn的算法,使之能够在一个给定的由n个整数构成的集合s和另一个整数x时,判断出s中是否存在有两个其和等于x的元素
  3. 所属分类:C/C++

    • 发布日期:2011-03-22
    • 文件大小:1kb
    • 提供者:wen_hu
  1. 几种经典的排序算法,源代码

  2. 几种经典的排序算法 (1)若n较小(如n≤50),可采用直接插入或直接选择排序。  当记录规模较小时,直接插入排序较好;否则因为直接选择移动的记录数少于直接插人,应选直接选择排序为宜。 (2)若文件初始状态基本有序(指正序),则应选用直接插人、冒泡或随机的快速排序为宜; (3)若n较大,则应采用时间复杂度为O(nlgn)的排序方法:快速排序、堆排序或归并排序。  快速排序是目前基于比较的内部排序中被认为是最好的方法,当待排序的关键字是随机分布时,快速排序的平均时间最短;  堆排序所需的辅助空间
  3. 所属分类:C

    • 发布日期:2012-12-19
    • 文件大小:25kb
    • 提供者:glooy
  1. 快速排序的三种写法及随机化快速排序

  2. 快速排序的三种写法及随机主元快速排序时间复杂度是nlgn,
  3. 所属分类:C/C++

    • 发布日期:2014-08-02
    • 文件大小:2kb
    • 提供者:u010288899
  1. 最优二叉树

  2. 最优二叉查找树,为算法导论上的算法,时间复杂度O(nlgn),思考题15.5-
  3. 所属分类:C++

    • 发布日期:2014-10-20
    • 文件大小:2kb
    • 提供者:kkewwei
  1. 大整数乘法FFT实现(java)

  2. 利用快速傅里叶变换FFT实现了大整数乘法。时间复杂度从O(n2)降低到了O(nlgn)
  3. 所属分类:Java

    • 发布日期:2017-10-28
    • 文件大小:5kb
    • 提供者:wuliaodemeng
  1. 最近点对问题的实现

  2. 使用分治的思想,将最近点对问题转化为左右和横跨左右的点对的问题,由左右两个子问题返回左右两边最短的点对距离,设为d,则横跨左右的点对只需要考虑距离分割线水平距离小于d的点,而且对于每个横跨左右的点得搜索遍历不需要考虑所有其他的点,而只需要考虑最多6个节点(因为由鸽巢原理知,假如d*2d区域里有多于6个点时,左右两个子问题的最近点对将小于d)。同时利用分割的思想为以y坐标排序的数组中,不需要每次都排序,而只需要使用它的父问题传入的y排序数组切割掉一部分即可,而最初的排序源于一次快排。算法一共递归
  3. 所属分类:C/C++

    • 发布日期:2018-03-20
    • 文件大小:4kb
    • 提供者:golden_c
  1. 快速排序算法的简单实现

  2. 快排算法的简单实现。 快速排序是实际运用中用的最多的算法,虽然它在最坏的情况下会达到n^2,但它的平均性能非常好,期望时间复杂度为nlgn,而且隐含的常数因子非常小,并且是原址排序。 快速排序原理:从一组数中任意选出一个数,将大于它的数放右边,小于它的数放左边,然后再从左边和右边的俩组数中分别执行此操作,知道组中元素数为1,此时,数组就是有序的了。
  3. 所属分类:C

    • 发布日期:2019-03-08
    • 文件大小:981byte
    • 提供者:hardbbb
  1. C++计数排序详解

  2. 计数排序的思想我们之前接触过的例如:插入排序,归并排序,快速排序,堆排序等都是基于集合元素之间的比较这一基本的思想,它们执行的时间复杂度最优是趋于O(nlgn),而计数排序的运行机制不是基于集合元素之间的大小比较
  3. 所属分类:其它

    • 发布日期:2020-09-02
    • 文件大小:206kb
    • 提供者:weixin_38583286
  1. 最近邻点对实现

  2. 寻找平面中距离最近的点对 时间复杂度为O(nlgn) 输入:点的个数<30000 点的坐标 输出:距离最近的点的距离的平方
  3. 所属分类:C/C++

    • 发布日期:2016-12-20
    • 文件大小:3kb
    • 提供者:cherrywang1997
  1. python 算法 排序实现快速排序

  2. QUICKSORT(A, p, r)是快速排序的子程序,调用划分程序对数组进行划分,然后递归地调用QUICKSORT(A, p, r),以完成快速排序的过程。快速排序的最差时间复杂度为O(n2),平时时间复杂度为O(nlgn)。最差时间复杂度的情况为数组基本有序的时候,平均时间复杂度为数组的数值分布较为平均的时候。在平时情况下快速排序跟堆排序的时间复杂度都为O(nlgn),但是快速排序的常数项较小,所以要优于堆排序。 PARTITION(A, p, r) 复制代码 代码如下: x ← A[r]
  3. 所属分类:其它

    • 发布日期:2020-12-25
    • 文件大小:31kb
    • 提供者:weixin_38700430
  1. Python求凸包及多边形面积教程

  2. 一般有两种算法来计算平面上给定n个点的凸包:Graham扫描法(Graham’s scan),时间复杂度为O(nlgn);Jarvis步进法(Jarvis march),时间复杂度为O(nh),其中h为凸包顶点的个数。这两种算法都按逆时针方向输出凸包顶点。 Graham扫描法 用一个栈来解决凸包问题,点集Q中每个点都会进栈一次,不符合条件的点会被弹出,算法终止时,栈中的点就是凸包的顶点(逆时针顺序在边界上)。 算法步骤如下图: import sys import math impo
  3. 所属分类:其它

    • 发布日期:2021-01-20
    • 文件大小:305kb
    • 提供者:weixin_38698927