#include void Merge(int ,int ,int ); void mergeSort(int ,int ); int ch[20000],temp[20000]; int count = 0; void mergeSort(int lo,int hi) { if(lo ch[j])... ...
分类:
编程语言 时间:
2019-02-25 23:17:21
阅读次数:
225
排序算法有很多种,并在实际编程过程中用的非常广泛。常用的排序算法有:插入排序算法,选择排序算法,冒泡排序算法,快速排序算法,归并排序算法,希尔排序算法,堆排序算法。
分类:
编程语言 时间:
2019-02-21 09:46:42
阅读次数:
150
/*归并排序 即将两个都升序(或降序)排列的数据合并成一个仍案原序列排列的序列。例子1、有一个含有6个数据升序序列和一个含有4个数据的升序序列,将二者合并成一个含有10个数据的额升序序列*/#include<stdio.h>#define m 6#define n 4int main(int arg ...
分类:
编程语言 时间:
2019-02-19 00:43:31
阅读次数:
182
十大经典排序算法 主题: 关于时间复杂度: 平方阶 (O(n2)) 排序 各类简单排序:直接插入、直接选择和冒泡排序。 线性对数阶 (O(nlog2n)) 排序 快速排序、堆排序和归并排序。 O(n1+§)) 排序,§ 是介于 0 和 1 之间的常数。 希尔排序。 线性阶 (O(n)) 排序 基数排 ...
分类:
编程语言 时间:
2019-02-18 01:24:12
阅读次数:
199
排序有很多种但是 就看你会哪一种了! 选择排序 O(𝑛2) 插入排序 O(𝑛2) 冒泡排序 O(𝑛2) 计数排序 O(𝑛 + 𝑚) 基数排序 O (𝑛 log 𝑚) 桶排序 O(𝑛)~O(𝑛2) 归并排序 O(𝑛 log 𝑛)堆排序 O(𝑛 log 𝑛)快速排序 O(𝑛 ...
分类:
编程语言 时间:
2019-02-15 19:40:40
阅读次数:
198
"点击查看原文" 前言 查找和排序算法是算法的入门知识,其经典思想可以用于很多算法当中。因为其实现代码较短,应用较常见。所以在面试中经常会问到排序算法及其相关的问题。但万变不离其宗,只要熟悉了思想,灵活运用也不是难事。一般在面试中最常考的是快速排序和归并排序,并且经常有面试官要求现场写出这两种排序的 ...
分类:
编程语言 时间:
2019-02-14 11:57:10
阅读次数:
190
根据维基百科的定义: 插入排序是迭代算法,逐一获得输入数据,逐步产生有序的输出序列。每步迭代中,算法从输入序列中取出一元素,将之插入有序序列中正确的位置。如此迭代直到全部元素有序。 归并排序进行如下迭代操作:首先将原始序列看成 N 个只包含 1 个元素的有序子序列,然后每次迭代归并两个相邻的有序子序 ...
分类:
其他好文 时间:
2019-02-12 01:35:34
阅读次数:
150
离散化加 求逆序数: 求逆序数的方法 一个是归并排序 一个是树状数组 ...
分类:
其他好文 时间:
2019-02-08 21:55:55
阅读次数:
232
题目 https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=3141 题意 一个1到n的排列,每次随机删除一个,问删除前的逆序数 思路 综合考虑,对每个数点,令v ...
分类:
编程语言 时间:
2019-02-08 13:08:56
阅读次数:
208
二叉树时间复杂度的训练: T(n) = 2T(n/2)+o(n) nlogN 归并排序 快排:平均nlogN 最坏 n^2 树形展开法 T(N) = 2T(N/2)+O(1) o(n) 二叉树的时间复杂度= N*每个节点的处理时间 前序便利:根左右 中序 左根右 后序:左右根 DFS深度优先搜索:1 ...
分类:
其他好文 时间:
2019-02-07 09:31:06
阅读次数:
120