快速排序 希尔排序 都是什么意思
答案:2 悬赏:0 手机版
解决时间 2021-03-08 03:03
- 提问者网友:那叫心脏的地方装的都是你
- 2021-03-07 14:56
快速排序 希尔排序 都是什么意思
最佳答案
- 五星知识达人网友:封刀令
- 2021-03-07 15:43
希尔排序:
核心:选数列下标的一定增量为一组,组内排序。
步骤解释:
(参考严蔚敏著《数据结构(C语言版)》P272 图10.5)
1.选增量为数组长度的一半(长度除2取不大于的整数),相隔该增量的元素为一组,组内排序;
2.增量不断减半(原增量除2取不大于的整数),相隔该增量的元素为一组,组内继续排序;
3.直到增量为1,所有元素成为一组,排序结束。
--------------------------------------------------
快速排序:
核心:将当前排列段首元素选为“枢轴”,从当前段两头开始比,比它大的置后,比它小的提前。
步骤解释:
(参考严蔚敏著《数据结构(C语言版)》P275 图10.7)
1. 选首元为“枢轴”,末尾元素从后向前比较,有比“枢轴”小的和“枢轴”交换,然后换从起始元素向后比较,有比“枢轴”大的和“枢轴”交换,再依次换从末尾、从开头轮流比较直到比完。
2. 这时“枢轴”元素把原排列分成两段,如图(a)最后一行所示。
3. 对“枢轴”分开的前段和后段再分别作为独立的排列段,仿照步骤1,重复进行选当前段的首元为“枢轴”、从当前段两头开始比、比它大的置后、比它小的提前。
4. 每个排列段都只剩下一个元素时,结束排序。
自创个人通俗版,仅供楼主参考!
核心:选数列下标的一定增量为一组,组内排序。
步骤解释:
(参考严蔚敏著《数据结构(C语言版)》P272 图10.5)
1.选增量为数组长度的一半(长度除2取不大于的整数),相隔该增量的元素为一组,组内排序;
2.增量不断减半(原增量除2取不大于的整数),相隔该增量的元素为一组,组内继续排序;
3.直到增量为1,所有元素成为一组,排序结束。
--------------------------------------------------
快速排序:
核心:将当前排列段首元素选为“枢轴”,从当前段两头开始比,比它大的置后,比它小的提前。
步骤解释:
(参考严蔚敏著《数据结构(C语言版)》P275 图10.7)
1. 选首元为“枢轴”,末尾元素从后向前比较,有比“枢轴”小的和“枢轴”交换,然后换从起始元素向后比较,有比“枢轴”大的和“枢轴”交换,再依次换从末尾、从开头轮流比较直到比完。
2. 这时“枢轴”元素把原排列分成两段,如图(a)最后一行所示。
3. 对“枢轴”分开的前段和后段再分别作为独立的排列段,仿照步骤1,重复进行选当前段的首元为“枢轴”、从当前段两头开始比、比它大的置后、比它小的提前。
4. 每个排列段都只剩下一个元素时,结束排序。
自创个人通俗版,仅供楼主参考!
全部回答
- 1楼网友:由着我着迷
- 2021-03-07 16:28
希尔排序:
核心:选数列下标的一定增量为一组,组内排序。
步骤解释:
(参考严蔚敏著《数据结构(C语言版)》P272 图10.5)
1.选增量为数组长度的一半(长度除2取不大于的整数),相隔该增量的元素为一组,组内排序;
2.增量不断减半(原增量除2取不大于的整数),相隔该增量的元素为一组,组内继续排序;
3.直到增量为1,所有元素成为一组,排序结束。
--------------------------------------------------
快速排序:
核心:将当前排列段首元素选为“枢轴”,从当前段两头开始比,比它大的置后,比它小的提前。
步骤解释:
(参考严蔚敏著《数据结构(C语言版)》P275 图10.7)
1. 选首元为“枢轴”,末尾元素从后向前比较,有比“枢轴”小的和“枢轴”交换,然后换从起始元素向后比较,有比“枢轴”大的和“枢轴”交换,再依次换从末尾、从开头轮流比较直到比完。
2. 这时“枢轴”元素把原排列分成两段,如图(a)最后一行所示。
3. 对“枢轴”分开的前段和后段再分别作为独立的排列段,仿照步骤1,重复进行选当前段的首元为“枢轴”、从当前段两头开始比、比它大的置后、比它小的提前。
4. 每个排列段都只剩下一个元素时,结束排序。
自创个人通俗版,仅供楼主参考。
核心:选数列下标的一定增量为一组,组内排序。
步骤解释:
(参考严蔚敏著《数据结构(C语言版)》P272 图10.5)
1.选增量为数组长度的一半(长度除2取不大于的整数),相隔该增量的元素为一组,组内排序;
2.增量不断减半(原增量除2取不大于的整数),相隔该增量的元素为一组,组内继续排序;
3.直到增量为1,所有元素成为一组,排序结束。
--------------------------------------------------
快速排序:
核心:将当前排列段首元素选为“枢轴”,从当前段两头开始比,比它大的置后,比它小的提前。
步骤解释:
(参考严蔚敏著《数据结构(C语言版)》P275 图10.7)
1. 选首元为“枢轴”,末尾元素从后向前比较,有比“枢轴”小的和“枢轴”交换,然后换从起始元素向后比较,有比“枢轴”大的和“枢轴”交换,再依次换从末尾、从开头轮流比较直到比完。
2. 这时“枢轴”元素把原排列分成两段,如图(a)最后一行所示。
3. 对“枢轴”分开的前段和后段再分别作为独立的排列段,仿照步骤1,重复进行选当前段的首元为“枢轴”、从当前段两头开始比、比它大的置后、比它小的提前。
4. 每个排列段都只剩下一个元素时,结束排序。
自创个人通俗版,仅供楼主参考。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯