排序

作者: 隔壁丨王大爷 | 来源:发表于2018-09-19 20:02 被阅读16次

    归并排序,N个有序数组的归并排序

    无序数组查找中位数

    1.1 将前(n+1)/2个元素调整为一个最小堆;

    1.2 对后续每一个元素和堆顶比较,如果小于等于堆顶,丢弃之,去下一个元素。如果大于堆顶,用该元素取代堆顶,调整堆,去下一个元素重复1.2步

    1.3 当遍历完所有元素之后,堆顶为中位数

    查找N个元素中的第K个小的元素(来自编程珠玑)

    编程珠玑给出了一个时间复杂度O(N),的解决方案。该方案改编自快速排序。

    经过快排的一次划分,

    1)如果左半部份的长度>K-1,那么这个元素就肯定在左半部份了

    2)如果左半部份的长度==K-1,那么当前划分元素就是结果了。

    3)如果左半部份的长度<k-1,那么这个元素就肯定在右半部份了

    并且,该方法可以用尾递归实现。效率更高。

    现在有10亿个纯数字,但是只有2MB可用内存,1gb储存,你怎么排序排一下

    常见的排序算法时间复杂度

    常用的排序算法的时间复杂度和空间复杂度 - Angelye - 博客园

    利用数组,实现一个循环队列类

    Java数组实现循环队列的两种方法 - CSDN博客

    二叉树深度

    求二叉树的深度和宽度[Java] - 旭东的博客 - 博客园

    层序遍历二叉树

    二叉树的层序遍历算法实现 - hapjin - 博客园

    树的中序遍历,除了递归和栈还有什么实现方式

    二叉树的三种遍历方式:递归、栈、循环 - CSDN博客

    二叉搜索树转换成一个排好序的双向链表

    笔试面试算法经典--二叉搜索树转有序的双向链表(Java) - CSDN博客

    判断平衡二叉树

    判断二叉树是否是平衡二叉树 及二叉树各种操作汇总 - hapjin - 博客园

    给定一个2叉树,打印每一层最右边的结点

    C++编程,输出二叉树每层最右端节点的数值 - CSDN博客

    一棵普通树(非二叉搜索树),找出一条路径和最大

    找一个二叉树的最大路径和 - CSDN博客

    最长公共子序列

    常考的经典算法--最长公共子序列(LCS)与最长公共子串(DP) - CSDN博客

    反转链表

    链表面试题(一):反转链表的算法实现 - csbdong - 博客园

    判断一个数是不是丑数

    判断一个数是否是丑数 - CSDN博客

    蓄水池抽样算法

    蓄水池抽样——《编程珠玑》读书笔记 - CSDN博客

    寻找一个字符串中第一个只出现一次的字符

    第一个只出现一次的字符_牛客网

    给定一个数组,里面只有一个数出现了一次,其他都出现了两次。怎么得到这个出现了一次的数?

    给定一个数组,里面只有一个数出现了一次,其他都出现了两次,怎么得到这个出现了一次的数? - CSDN博客

    海量数据topk问题

    面试经典的海量数据处理(TOPK)问题—转载+个人见解! - CSDN博客

    相关文章

      网友评论

          本文标题:排序

          本文链接:https://www.haomeiwen.com/subject/nfekgftx.html