20182309 2019 2020 1 《数据结构与面向对象程序设计》第8周学习总结 教材学习内容总结 查找 线性查找 二分查找 哈希查找 排序 选择排序 插入排序 冒泡排序 快速排序 归并排序 教材学习中的问题和解决过程 问题1:改进冒泡排序 问题1解决方案:设立以个flag,如果有一次没有交换 ...
分类:
其他好文 时间:
2019-11-04 17:44:56
阅读次数:
88
逆序对 首先我们来认识一下什么叫做逆序对:如果对于 i<j,a[i]>a[j],那么a[i]和a[j]就是一对逆序对 树状数组求逆序对 我们挨个把a数组放进树状数组里,对于每一个a[i],统计a[1...i-1]中有多少个数比a[i]大,就有多少对逆序对 归并排序求逆序对 归并排序是一种基础的排序方 ...
分类:
其他好文 时间:
2019-11-04 17:23:30
阅读次数:
108
归并排序是一个典型的基于分治的递归算法。它不断地将原数组分成大小相等的两个子数组(可能相差1),最终当划分的子数组大小为1时,将划分的有序子数组组合并成一个更大的有序数组。 算法分析: 分,也就是把原数组划分成两个子数组的过程。 治,它将两个有序数组合并成一个更大的有序数组。 它将数组平均分成两部分 ...
分类:
编程语言 时间:
2019-11-04 15:12:33
阅读次数:
53
1.归并排序思想: 以2路归并为例,一个有n个记录的序列可以看作n个长度为1的有序子序列,将其两两合并成n/2(向上取整)个长度为2或1的有序序列,当有奇数个记录时为1,重复归并,直到得到一个长度为n的有序序列。 2.归并排序的复杂度: 递归:时间复杂度O(nlongn),空间复杂度O(n+long ...
分类:
编程语言 时间:
2019-11-03 12:39:10
阅读次数:
62
原文链接:https://www.cnblogs.com/DarrenChan/p/8807112.html 这三个排序的时间复杂度都是O(nlogn),所以这里放到一起说。 回到顶部 1. 快速排序# 快速排序(英语:Quicksort),又称划分交换排序(partition-exchange s ...
分类:
编程语言 时间:
2019-11-02 15:57:28
阅读次数:
116
一、sort排序法 1、不传参数,将不会按照数值大小排序,按照字符编码的顺序进行排序; 2、传入参数,实现升序,降序; 3、根据数组中的对象的某个属性值排序; 4、根据数组中的对象的多个属性值排序,多条件排序; 二、排序算法 1、冒泡排序 2、快速排序 3、二路归并 ...
分类:
编程语言 时间:
2019-11-01 16:01:27
阅读次数:
100
1. 归并排序 归并排序,是创建在归并操作上的一种有效的排序算法,效率为O(nlogn)。1945年由约翰·冯·诺伊曼首次提出。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用,且各层分治递归可以同时进行。速度仅次于快速排序,为稳定排序算法,一般用于对总体无序,但是各子 ...
分类:
编程语言 时间:
2019-10-31 18:32:53
阅读次数:
87
本篇博客是为了熟悉冒泡选择插入希尔归并快速基数排序这几种排序算法而写的,基本上是看了书上代码,然后自己手敲理解一遍。 ...
分类:
编程语言 时间:
2019-10-30 00:08:44
阅读次数:
103
链表排序之归并排序: 排序前:6 2 8 4 9 5 1 3 7 排序后:1 2 3 4 5 6 7 8 9 ...
分类:
编程语言 时间:
2019-10-28 21:16:56
阅读次数:
96
第$K$优解这类问题可在$DP$过程中通过添维解决。归并出当前前$K$大的解。 ...
分类:
其他好文 时间:
2019-10-27 18:56:37
阅读次数:
62