From 91d24f13d0e4941e2d8ef8ffb4b864115ad62dc4 Mon Sep 17 00:00:00 2001 From: huihut Date: Mon, 16 Apr 2018 13:38:05 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=8E=92=E5=BA=8F=E7=AE=97?= =?UTF-8?q?=E6=B3=95=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Algorithm/BucketSort.h | 2 ++ Algorithm/CountSort.h | 2 ++ Algorithm/HeapSort.h | 2 ++ Algorithm/MergeSort.h | 3 +++ Algorithm/RadixSort.h | 4 +--- Algorithm/ShellSort.h | 1 + 6 files changed, 11 insertions(+), 3 deletions(-) diff --git a/Algorithm/BucketSort.h b/Algorithm/BucketSort.h index 9ed7e90..8b3d36f 100644 --- a/Algorithm/BucketSort.h +++ b/Algorithm/BucketSort.h @@ -5,6 +5,8 @@ using namespace std; /***************** +桶排序:将值为i的元素放入i号桶,最后依次把桶里的元素倒出来。 + 桶排序序思路: 1. 设置一个定量的数组当作空桶子。 2. 寻访序列,并且把项目一个一个放到对应的桶子去。 diff --git a/Algorithm/CountSort.h b/Algorithm/CountSort.h index 4eba4ce..af82c3f 100644 --- a/Algorithm/CountSort.h +++ b/Algorithm/CountSort.h @@ -1,5 +1,7 @@ /***************** +计数排序:统计小于等于该元素值的元素的个数i,于是该元素就放在目标数组的索引i位(i≥0)。 + 计数排序基于一个假设,待排序数列的所有数均出现在(0,k)的区间之内,如果k过大则会引起较大的空间复杂度 计数排序并非是一种基于比较的排序方法,它直接统计出键值本应该出现的位置 时间复杂度为O(n),空间复杂度为O(n+k) diff --git a/Algorithm/HeapSort.h b/Algorithm/HeapSort.h index bac7ab6..04291db 100644 --- a/Algorithm/HeapSort.h +++ b/Algorithm/HeapSort.h @@ -2,6 +2,8 @@ #include using namespace std; +// 堆排序:(最大堆,有序区)。从堆顶把根卸出来放在有序区之前,再恢复堆。 + void max_heapify(int arr[], int start, int end) { //建立父節點指標和子節點指標 int dad = start; diff --git a/Algorithm/MergeSort.h b/Algorithm/MergeSort.h index 5affc43..2b22a7d 100644 --- a/Algorithm/MergeSort.h +++ b/Algorithm/MergeSort.h @@ -1,3 +1,6 @@ + +// 归并排序:把数据分为两段,从两段中逐个选最小的元素移入新数据段的末尾。可从上到下或从下到上进行。 + /***************** 迭代版 *****************/ diff --git a/Algorithm/RadixSort.h b/Algorithm/RadixSort.h index 5681cc1..3ae05b2 100644 --- a/Algorithm/RadixSort.h +++ b/Algorithm/RadixSort.h @@ -1,6 +1,4 @@ -/***************** - 基数排序 -*****************/ +// 基数排序:一种多关键字的排序算法,可用桶排序实现。 int maxbit(int data[], int n) //辅助函数,求数据的最大位数 { diff --git a/Algorithm/ShellSort.h b/Algorithm/ShellSort.h index e332ec4..fe8767d 100644 --- a/Algorithm/ShellSort.h +++ b/Algorithm/ShellSort.h @@ -1,3 +1,4 @@ +// 希尔排序:每一轮按照事先决定的间隔进行插入排序,间隔会依次缩小,最后一次一定要是1。 template void shell_sort(T array[], int length) { int h = 1; -- GitLab