Fork me on GitHub
fanerge's Blogs

一个专注于WEB开发的技术的个人博客


  • Home

  • Categories29

  • Archives187

  • About

  • Search

排序算法-总结性文章

Posted on 2017-11-23 | In 数据结构和算法
排序算法的基本概念什么叫排序?排序(Sorting) 是计算机程序设计中的一种重要操作,它的功能是将一个数据元素(或记录)的任意序列,重新排列成一个关键字有序的序列。 排序算法的性质稳定性稳定的算法,就是当有两个相等记录的关键字R和S,且在原本的列表中R出现在S之前,在排序过的列表中R也将会是在S之前。反之,不稳定的算法,就是当有两个相等记录的关键字R和S,且在原本的列表中R出现在S之前,在排序过 ...
Read more »

排序算法-基数排序

Posted on 2017-11-22 | In 数据结构和算法
基数排序(radix sort)的基础技术排序的定义:基数排序(radix sort)属于“分配式排序”(distribution sort),又称“桶子法”(bucket sort)或bin sort,顾名思义,它是透过键值的部份资讯,将要排序的元素分配至某些“桶”中,藉以达到排序的作用,基数排序法是属于稳定性的排序,其时间复杂度为O (nlog(r)m),其中r为所采取的基数,而m为堆数,在某 ...
Read more »

排序算法-桶排序

Posted on 2017-11-21 | In 数据结构和算法
桶排序的基础桶排序的定义:假定:输入是由一个随机过程产生的[0, 1)区间上均匀分布的实数。将区间[0, 1)划分为n个大小相等的子区间(桶),每桶大小1/n:[0, 1/n), [1/n, 2/n), [2/n, 3/n),…,[k/n, (k+1)/n ),…将n个输入元素分配到这些桶中,对桶中元素进行排序,然后依次连接桶输入0 ≤A[1..n] <1辅助数组B[0..n-1]是一指针数 ...
Read more »

排序算法-计数排序

Posted on 2017-11-20 | In 数据结构和算法
计数排序的基础定义:计数排序是一个非基于比较的排序算法。它的优势在于在对一定范围内的整数排序时,它的复杂度为Ο(n+k)(其中k是整数的范围),快于任何比较排序算法。[1-2] 当然这是一种牺牲空间换取时间的做法,而且当O(k)>O(nlog(n))的时候其效率反而不如基于比较的排序(基于比较的排序的时间复杂度在理论上的下限是O(nlog(n)), 如归并排序,堆排序)计数排序对输入的数据 ...
Read more »

排序算法-堆排序

Posted on 2017-11-15 | In 数据结构和算法
堆排序(Heapsort)的基础定义:堆排序(Heapsort)是指利用堆积树(堆)这种数据结构所设计的一种排序算法,它是选择排序的一种。可以利用数组的特点快速定位指定索引的元素。堆分为大根堆和小根堆,是完全二叉树。大根堆的要求是每个节点的值都不大于其父节点的值,即A[PARENT[i]] >= A[i]。在数组的非降序排序中,需要使用的就是大根堆,因为根据大根堆的要求可知,最大的值一定在堆 ...
Read more »

排序算法-快速排序

Posted on 2017-11-14 | In 数据结构和算法
快速排序(Quicksort)的基础定义:快速排序(Quicksort)是对冒泡排序的一种改进。基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。 快速排序算法的介绍设要排序的数组是A[0]……A[N-1],首先任意选取一个数据(通常选用 ...
Read more »

排序算法-归并算法

Posted on 2017-11-13 | In 数据结构和算法
归并排序(MERGE-SORT)基础定义:归并排序是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。实现过程:比较a[i]和b[j]的大小,若a[i]≤b[j],则将第一个有序表中的元素a[i]复制到 ...
Read more »

排序算法-希尔排序

Posted on 2017-11-12 | In 数据结构和算法
希尔排序(Shell Sort)的基础希尔排序(Shell Sort)是插入排序的一种。也称缩小增量排序,是直接插入排序算法的一种更高效的改进版本。希尔排序是非稳定排序算法。希尔排序是基于插入排序的以下两点性质而提出改进方法的: 插入排序在对几乎已经排好序的数据操作时,效率高,即可以达到线性排序的效率。 但插入排序一般来说是低效的,因为插入排序每次只能将数据移动一位。 实现希尔排序(n为待排序 ...
Read more »

Symbol总结

Posted on 2017-11-12 | In js
Symbol 基础Symbol 引入的原因ES5 的对象属性名都是字符串,这容易造成属性名的冲突。比如,你使用了一个他人提供的对象,但又想为这个对象添加新的方法(mixin 模式),新方法的名字就有可能与现有方法产生冲突。如果有一种机制,保证每个属性的名字都是独一无二的就好了,这样就从根本上防止属性名的冲突。ES6 引入了一种新的原始数据类型Symbol,表示独一无二的值。它是 JavaScrip ...
Read more »

Set和Map的用法

Posted on 2017-11-11 | In js
Set 详解基础特性Set 对象允许你存储任何类型的唯一值,无论是原始值或者是对象引用。ES6 提供了新的数据结构 Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。语法:new Set([iterable]);参数:如果传递一个可迭代对象,它的所有元素将被添加到新的 Set中。如果不指定此参数或其值为null,则新的 Set为空。返回值:一个新的Set对象。 来个简单实例12let s ...
Read more »
1…678…19
余真帆-fanerge

余真帆-fanerge

前端偏前工程师

187 posts
29 categories
57 tags
RSS
GitHub E-Mail 掘金 知乎 Segmentfault
© 2017 — 2022 余真帆-fanerge
Powered by Hexo
Unique Visitor: Page View: