Data Structure
文章平均质量分 76
o_0123
这个作者很懒,什么都没留下…
展开
-
[排序算法]C++实现堆排序
定义堆的定义如下:n个元素的序列{k1,k2,…,kn}{k1,k2,…,kn}\{ k_1, k_2, \dots, k_n\}当且仅当满足以下关系时,称之为堆。 {ki≤k2iki≤k2i+1或{ki≤k2iki≤k2i+1(i=1,2,…,⌊n2⌋){ki≤k2iki≤k2i+1或{ki≤k2iki≤k2i+1(i=1,2,…,⌊n2⌋)\begin{cases}k_i \le k...原创 2018-03-25 17:44:45 · 467 阅读 · 0 评论 -
[排序算法]C++实现快速排序
基本思想 快速排序(Quick Sort)是对冒泡排序的一种改进。 它的基本思想是,通过一趟排序将待排记录分割成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,则可分别对这两部分记录继续进行排序,以达到整个序列有序。 假设待排序列为{x0,x2,…,xn−1}{x0,x2,…,xn−1}\{{x_0,x_2,\dots,x_{n-1}}\},首先任意选取一个记录(...原创 2018-03-26 10:00:09 · 517 阅读 · 0 评论 -
[排序算法]C++实现归并排序
基本思想 归并排序是将两个或两个以上的有序表组合成一个新的有序表。 假设初始序列有n个记录,则可看成是n个有序的子序列,每个子序列的长度为1,然后两两归并,得到⌈n2⌉⌈n2⌉\lceil \frac {n} {2}\rceil个长度为2或1的有序子序列;再两两归并,……,如此重复,直至得到一个长度为n的有序序列为止,这种排序方法称为2-路归并排序。实现快速排序的步骤递...原创 2018-03-27 14:50:03 · 1112 阅读 · 0 评论