20182306 2019 2020 1 《数据结构与面向对象程序设计》实验七报告 课程:《程序设计与数据结构》 班级: 1823 姓名: 管伟宇 学号:20182306 实验教师:王志强 实验日期:2019年10月30日 必修/选修: 必修 1.实验内容 查找与排序 1 定义一个Searching ...
分类:
其他好文 时间:
2019-11-17 10:27:54
阅读次数:
77
一.思想 希尔排序是一种分组插入排序算法。 首先取一个整数d1=n/2,将元素分为d1个为一组,每组相邻量元素之间距离为d1,两组数据一一进行对比按大小,从新分配两组 第一次排序后变成 取第二个整数d2=d1/2,重复上述分组排序过程,直到di=1,即所有元素在同一组内进行直接插入排序。 按上面那个 ...
分类:
编程语言 时间:
2019-11-15 20:39:22
阅读次数:
74
排序算法系列博客: 直接插入排序 希尔排序 简单选择排序 堆排序 冒泡排序 快速排序 归并排序 计数排序 基数排序 九大排序排序是数据结构体系中最重要的内容之一,这一块必须要非常熟练的掌握,应该做到可以立马写出每个排序的代码,有多种实现方法的必须多种都能很快写出来,当然对各个排序的性能的了解也是基础 ...
分类:
编程语言 时间:
2019-11-04 20:12:41
阅读次数:
133
排序 内部排序 插入排序 直接插入排序 希尔排序 选择排序 简单选择排序 堆排序 交换排序 冒泡排序 快速排序 直接插入排序 给定一组序列,假定第一个记录自成一个有序序列,其余记录为无序序列。接着从第二个记录开始,按照记录的大小依此将当前处理的记录插入到其之前的有序序列中,直到最后一个记录插入到有序 ...
分类:
编程语言 时间:
2019-11-02 00:22:49
阅读次数:
86
1 import random 2 import time 3 4 # 插入排序 5 def insertion_sort(arr, step): 6 for i in range(step, len(arr)): 7 for j in range(i, step - 1, -step): 8 if... ...
分类:
编程语言 时间:
2019-11-01 18:16:42
阅读次数:
93
基本思想:先将整个待排序的记录序列分割成若干个子序列,分别进行直接插入排序,待整个序列中的记录“基本有序”时,再对全体记录依次进行直接插入排序。 1)操作方法:选择一个增量序列t1,t2,...,tk,其中ti>tj,tk=1; 2)按增量序列个数k,对序列进行k趟排序; 3)每趟排序,根据对应的增 ...
分类:
编程语言 时间:
2019-10-30 11:41:35
阅读次数:
67
本篇博客是为了熟悉冒泡选择插入希尔归并快速基数排序这几种排序算法而写的,基本上是看了书上代码,然后自己手敲理解一遍。 ...
分类:
编程语言 时间:
2019-10-30 00:08:44
阅读次数:
103
一、直接插入排序 原理 :直接插入排序(Straight Insertion Sorting)的基本思想:在要排序的一组数中,假设前面(n 1) [n =2] 个数已经是排好顺序的,现在要把第n个数插到前面的有序数中,使得这n个数也是排好顺序的。如此反复循环,直到全部排好顺序。 二、希尔排序 针对直 ...
分类:
编程语言 时间:
2019-10-29 23:37:49
阅读次数:
108
希尔排序的基本介绍: 希尔排序同之前的插入排序一样,它也是一种插入排序,只不过它是简单插入排序之后的一个优化的排序算法,希尔排序也被称为缩小增量排序。 希尔排序的基本思想: 希尔排序是把数组中给定的元素按照下标的一定增量进行分组,在分组之后,对每组使用直接插入排序算法;随着增量的减少,每组包含的元素 ...
分类:
编程语言 时间:
2019-10-28 20:58:47
阅读次数:
94
直接插入排序 将数组分为有序区和无序区,开始时第一个元素就是有序区,与第二个元素比较,第一二元素排好序后,再将第三个元素与前2个元素比较插入到合适的位置。后面依次操作。 希尔排序 ...
分类:
编程语言 时间:
2019-10-27 21:02:01
阅读次数:
91