分治
文章平均质量分 52
Tianweidadada
一颗执着的心,一个平庸的梦。
展开
-
已知先序中序求后序 C实现(分治法)
先 中转后序的 两种实现 对比原创 2017-08-06 16:36:05 · 1362 阅读 · 0 评论 -
归并排序(递归版本)C实现~
核心思想为 分治原创 2017-08-12 13:20:28 · 462 阅读 · 0 评论 -
快速排序(quick sort) C ~
快速 排序 (quick sort)原创 2017-08-13 16:40:50 · 490 阅读 · 0 评论 -
归并排序
分治法:#include<iostream>using namespace std;int a[10];int tmp[10];void merge(int a[],int s,int m, int e, int tmp[])//归并 把每一小部分归为有序 { int pt = 0; int p1 = s,p2 = m+1; while(p1 <= m &...原创 2018-03-24 11:24:34 · 146 阅读 · 0 评论 -
输出前m大的数
O(n+mlogm)n为快排中线性扫描时间,mlogm为归并排序原创 2018-03-24 17:29:06 · 493 阅读 · 0 评论 -
分治 求 逆序数
利用归并,逆序数等于 左边逆序数 + 右边逆序数,加上 左边 的每个数与右边的每个数构成的逆序数。归并过程 把 左边和右边按照从小到大排序 在 merge过程中发现a[右边] > a[左边] 说明 在此左边p1位置的右侧的数都能与此时的p2位置的 a[p2]构成逆序对。故 逐一对a[j]进行判断,累加即可得到 最终逆序数。m-p1+1表示 此时p1到中点m位置有多少个数(这些数都可以以a[p...原创 2018-03-24 19:27:58 · 680 阅读 · 0 评论