堆排序简介
堆排序(Heap Sort),是指利用堆这种数据结构所设计的一种排序算法。
堆排序的基本思想:将待排序的序列构造成一个大顶堆。此时,整个序列的最大值就是堆顶的根结点。将它与末尾元素交换,此时末尾元素就是最大值,然后将剩余的n-1
个序列重新构造成一个堆,这样就会得到n个元素中的次小值。如此反复执行,便能得到一个有序序列。
堆排序(Heap Sort),是指利用堆这种数据结构所设计的一种排序算法。
堆排序的基本思想:将待排序的序列构造成一个大顶堆。此时,整个序列的最大值就是堆顶的根结点。将它与末尾元素交换,此时末尾元素就是最大值,然后将剩余的n-1
个序列重新构造成一个堆,这样就会得到n个元素中的次小值。如此反复执行,便能得到一个有序序列。
选择排序(Selection Sort)是一种简单直观的排序算法。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。
There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.
—— C.A.R. Hoare (Designer of QuickSort)
快速排序(Quick Sort)是由东尼·霍尔所发明的一种排序算法,被列为20世纪十大算法之一。其发明者——东尼·霍尔(Tony Hoare),出生于斯里兰卡可伦坡,英国计算机科学家,图灵奖得主。
若人们不相信数学简单,只因他们未意识到生命之复杂。
—— 约翰·冯·诺伊曼
归并排序(Merge Sort),是创建在归并操作上的一种有效的排序算法。1945年由约翰·冯·诺伊曼首次提出。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用,且各层分治递归可以同时进行。
“endian”一词来源于乔纳森·斯威夫特的小说格列佛游记。小说中,小人国为水煮蛋该从大的一端(Big-End)剥开还是小的一端(Little-End)剥开而争论,争论的双方分别被称为“大端派”和“小端派”。
字节序,又称端序,尾序(Endianness)。在计算机科学邻域,是跨越多字节的程序对象的存储规则。
FILE –> New –> Project,如下图所示:
注意:如果 InstallShield Limited Edition Project
显示灰色,说明还没有安装,这时点击灰色的点进行下载安装。
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.
1 | $ hexo new "My New Post" |
More info: Writing
1 | $ hexo server |
More info: Server
1 | $ hexo generate |
More info: Generating
1 | $ hexo deploy |
More info: Deployment