自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Chook_lxk的博客

你前程有在,但须澄心猛省,不可自甘堕落。github地址:https://github.com/lxk1997

  • 博客(9)
  • 收藏
  • 关注

原创 URAL - In the Army Now(归并排序求逆序数对)

点击打开题目链接 1090. In the Army Now Time limit: 1.0 second Memory limit: 64 MB The sergeant ordered that all the recruits stand in rows. The recruits have formedKrows withNpeople in e

2017-11-30 21:37:23 221

原创 浅析各类排序算法(八) 归并排序

归并排序(Merge Sort) 归并排序也是一类高效的基于比较的排序算法,是分治思想的典型应用。它的工作原理是首先将未排序序列分成n份元素个数为1的子序列(个数为1被认为是有序的),然后进行合并,最后子序列数为1即已排序序列。归并排序是时间复杂度为次平方中唯一的稳定的排序算法。 归并排序的一般步骤: 1.将原始序列分成n份,每份元素个数为1. 2.反复进行有序序列的合并,直到最后子序列数

2017-11-28 09:35:31 251

原创 浅析各类排序算法(七) 选择类排序之堆排序

堆排序(Heap Sort) 堆排序是一种就地排序算法,是简单选择排序的一种改进。它将排序序列分为已排序序列和未排序序列两部分,通过不断寻找未排序序列中的最大元素放入已排序序列从而迭代减少未排序序列的元素数量。比简单选择排序优化的地方是采用了数据结构中的二叉堆结构从而代替线性的搜索时间。堆排序的工作原理是通过不断维护堆结构,每次选择出最大元素交换到堆尾。堆常常放在一个完整的二叉树布局的线性表中(

2017-11-27 18:55:51 389

原创 浅析各类排序算法(六) 选择类排序之简单选择排序

简单选择排序(Select Sort) 选择排序(Select Sort)是一种简单直观的排序方法。它的工作原理为每次都从未排序列中选取最小的数放在已排序列的最右边。在大数据中效率底下。但因为其简单性,在某些情况下,尤其是辅助空间有限的情况下,它具有比更复杂的排序算法的性能优势。 简单排序的一般步骤: 1.遍历当前数组,选取最小的元素与arr[1]位置元素交换。 2.遍历2->n元素,选取

2017-11-26 18:52:51 267

原创 浅析各类排序算法(五) 插入类排序之希尔排序

希尔排序(Shell Sort) 希尔排序(Shell Sort)是一种较诡异的排序算法,是一种插入排序的泛化,也称缩小增量排序。我们都知道直接插入排序在序列元素基本有序的情况下效率是很高的。基于此,希尔排序通过一个递减的间隙序列不断使原序列变得更加基本有序,从而降低了算法的时间复杂度。 希尔排序的一般步骤: 1.选取一个递减,最后元素为1的间隙序列。 2.循环间隙序列的每一个元素k,

2017-11-26 17:41:58 234

原创 浅析各类排序算法(四) 插入类排序之直接插入排序及折半插入,2-路插入算法

(一)直接插入排序(Straight Insertion Sort) 直接插入排序是一种最简单的排序方法。它的基本操作是将一个记录插入到已经排好序的有序表中,从而构成一个新的,记录数增1的有序表。 直接插入排序的一般步骤: 1.将第一个元素看作已经排好序的有序表。 2.遍历2->n位置的元素,如果当前元素a[i]小于a[i-1],将当前元素放入哨所中。 3.从i-1往前寻找第

2017-11-26 16:44:33 360

原创 浅析各类排序算法(三) 交换类排序之快速排序

快速排序(Quick Sort) 快速排序(Quicksort)是对冒泡排序的一种改进。快速排序由C. A. R. Hoare在1962年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。 快速排序的基本步骤: Ø 将

2017-11-24 21:27:07 226

原创 浅析各类排序算法(二) 交换类排序之冒泡排序及鸡尾酒排序

(一)冒泡排序(Bubble Sort) 冒泡排序是在大一学C时学的第一种排序方法,是一种简单的排序方法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。 冒泡排序的一般步骤: 1.比较相邻的元素。如果第一个比第二个大,就交换他们两个。 2.对每一对相邻元素作同样的工作,从开始第一对

2017-11-24 17:52:08 251

原创 浅析各类排序算法(一) 总述

数据结构刚刚学过排序算法,觉得有必要整理一下。因为内容过多一篇博文不便于整理和查找,所以分为了多个章节。以lls(漂亮哇卡卡(●ˇ∀ˇ●))的授课课件为基础,参考百度百科,整理了一下各种内部排序算法,算是对于数据结构的排序这一部分的归纳总结与拓展。(内容还很不完善,希望巨巨们多多留言提供,蟹蟹(ง •_•)ง) 从算法的实现方法和策略选取上给出了两种分类标准:

2017-11-24 17:06:23 399

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除