当前位置: 首页 > news >正文

目前做系统比较好的网站产品网站建设

目前做系统比较好的网站,产品网站建设,广州建设,深圳网络开发目录 希尔排序算法思想 希尔排序算法步骤 希尔排序代码实现 希尔排序算法分析 希尔排序算法思想 希尔排序(Shell Sort)基本思想: 将整个数组切按照一定的间隔取值划分为若干个子数组,每个子数组分别进行插入排序。然后逐渐…

目录

希尔排序算法思想

希尔排序算法步骤 

希尔排序代码实现 

希尔排序算法分析 


希尔排序算法思想

希尔排序(Shell Sort)基本思想

将整个数组切按照一定的间隔取值划分为若干个子数组,每个子数组分别进行插入排序。然后逐渐缩小间隔进行下一轮划分子数组和对子数组进行插入排序。直至最后一轮排序间隔为 1,对整个数组进行插入排序。

希尔排序算法步骤 

假设数组的元素个数为 n 个,则希尔排序的算法步骤如下:

  1. 确定一个元素间隔数 gap。
  2. 将参加排序的数组按此间隔数从第 1 个元素开始一次分成若干个子数组,即分别将所有位置相隔为 gap 的元素视为一个子数组。
  3. 在各个子数组中采用某种排序算法(例如插入排序算法)进行排序。
  4. 减少间隔数,并重新将整个数组按新的间隔数分成若干个子数组,再分别对各个子数组进行排序。
  5. 依次类推,直到间隔数 gap 值为 1,最后进行一次排序,排序结束。

我们以 [7,2,6,8,0,4,1,5,9,3] 为例,演示一下希尔排序的整个步骤。

<1>

<2>

<3>

<4>

<5>

<6>

<7> 

希尔排序代码实现 

class Solution:def shellSort(self, nums: [int]) -> [int]:size = len(nums)gap = size // 2# 按照 gap 分组while gap > 0:# 对每组元素进行插入排序for i in range(gap, size):# temp 为每组中无序数组第 1 个元素temp = nums[i]j = i# 从右至左遍历每组中的有序数组元素while j >= gap and nums[j - gap] > temp:# 将每组有序数组中插入位置右侧的元素依次在组中右移一位nums[j] = nums[j - gap]j -= gap# 将该元素插入到适当位置nums[j] = temp# 缩小 gap 间隔gap = gap // 2return numsdef sortArray(self, nums: [int]) -> [int]:return self.shellSort(nums)

希尔排序算法分析 

时间复杂度:介于 O(n×log⁡2n) 与 O(n*n) 之间。

  • 空间复杂度:O(1)。希尔排序中用到的插入排序算法为原地排序算法,只用到指针变量 i、j 以及表示无序区间中第 1 个元素的变量、间隔数 gap 等常数项的变量。

  • 排序稳定性:在一次插入排序是稳定的,不会改变相等元素的相对顺序,但是在不同的插入排序中,相等元素可能在各自的插入排序中移动。因此,希尔排序方法是一种 不稳定排序算法

http://www.dtcms.com/a/600035.html

相关文章:

  • 微信网站开发js框架wordpress不同分类模板
  • 如何用微信支付购物网站服装定制品牌有哪些
  • 甘肃网站快速排名策划360老是提示危险网站
  • 网站开发框架 cwordpress静态规则
  • 福州网站开发公司wordpress相关网站
  • 永安网站建设域名查ip
  • 网站中捕获鼠标位置网站开发的心得体会
  • 全是广告的网站html5视频网站源码
  • 广西建设厅查询网站南方医科大学精品课程建设网站
  • 四川省住房与城乡建设部网站公司英文网站建设
  • 自己做一个商城网站怎么做python和php网站开发
  • php商城网站开发报告在线制作电子公章免费
  • 襄阳做网站排行榜如何做好一个外贸进网站的编辑
  • 郑州网站推广美妆企业网站模板
  • 网络营销是以什么为基础长沙哪里有网站推广优化
  • 一站式网站建设行业wordpress悬浮插件
  • 海淘网站建设wordpress加中文
  • 昆明网站排名优化报价将任意网站提交给google搜索引擎
  • 淘宝网站首页设计分析常州网站建设推广
  • 旅游网站建设维护wordpress seo联接插件
  • 合肥建设工程竣工结算备案网站半年工作总结ppt模板
  • 自开发网站湘潭高新区建设局网站
  • 自媒体自助下单网站怎么做网站架构设计师
  • 怎么什么软件可以吧做网站python改写WORDPRESS
  • 网站色调设计方案网站推广包括哪些
  • 软件下载免费大全网站yum wordpress
  • 长春能开发网站的公司深圳大腕互联网站建设
  • 内江做网站企业品牌宣传推广
  • cms建站方案wordpress 短链插件
  • wordpress .ds_store长春网站优化方案