自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

程序人生

不想被定义,所以要编程

  • 博客(4)
  • 资源 (2)
  • 收藏
  • 关注

原创 并查集和Union-Find算法及其改进

并查集定义       并查集(Union-Find Sets)也叫不相交集合(Disjoint Sets),是一种用于维护若干个不相交元素所构成的集合的一种树型数据结构。并查集常用来处理一些不相交元素的合并与查询问题,在使用中常常用森林来表示。 主要操作        一个并查集数据结构维护了一个不相交动态集的集合。我们用一个代表(根节点)来标识每个集合,它是这个集合的某个成...

2017-10-19 16:53:13 945

原创 Quick Sort(快速排序)

目录算法思想实现步骤源码C++实现递归版本C++非递归版本 Python实现Go实现时间复杂度性能特点稳定性算法思想       通过快速排序将要排序的数据分为独立的两部分,其中一部分的数据比另外一部分的数据都要小,然后再按照此方法对这两部分数据分别再进行快速排序,整个过程可以递归进行,以此达到整个序列都有序。快速排序和归并排序是互补的:归并排序...

2017-10-08 23:04:05 1269

原创 Merge Sort(归并排序)

归并排序是建立在归并操作(将若干(通常为两个)有序的序列合成为一个更大的有序序列)上的一种排序算法,是分治法的典型应用。算法思想 用分治法的思想,将已有序的子序列合并,得到完全有序的序列,即先使每个子序列有序,再使子序列段间有序。常见的归并排序将两个有序的子序列合成一个更大的序列,称为二路归并排序。实现步骤 以自顶向下的二路归并...

2017-10-04 00:35:57 1764

原创 Binary Selection Sort(二元选择排序)

算法思想 二元选择排序是对简单选择排序的改进,简单选择排序对序列每一次遍历只找出一个元素,而二元选择排序在每一次遍历中都会找出序列两端的元素(最大和最小),两端同时向中间逼近。这样理论上遍历的次数就减少了一半,加快了排序速度。实现步骤 以从小到大排列为例:1.遍历序列,找出最小元素和最大元素2.将最小元素与无序部分第一个元素交换,最大元素与无...

2017-10-03 12:07:37 765

million_nodes.txt

内含100万个节点,可用于计算连通分量的各类算法(Union-Find、Quick-Find等)的测试。

2018-03-26

crore_numbers.txt

1000万个整数,范围是0~9999999,随机排列,可用于排序算法的性能测试。

2018-03-26

空空如也

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

TA关注的人

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