学习日志---机器学习中的基本排序方式

排序算法是机器学习算法中较为基础的算法,一般来说,机器学习的排序算法有8种,分别是:冒泡算法,插入算法,直接选择算法,快速排序算法,希尔排序算法以及堆排序算法和归并算法,基数排序算法。这里首先学习了前三种最基本的排序算法。

冒泡算法是较为基础的排序算法之一,其主要思想就是通过不断比较数字大小,将数字大的换到数字小的后方,通过多次循环,能够实现每次循环结束都将会把数字最大的数放在当前循环的最后一位。具体实现方法Python代码如下:

def bubbleSort(nums):
   for i in range(0,len(nums)-1):
      for j in range(0,len(nums)-i-1):
         if nums[j]>nums[j+1]:
            temp = nums[j]
            nums[j]=nums[j+1]
            nums[j+1]=temp
nums = [7,6,3,9,1,8]
print("排序前:", nums)
bubbleSort(nums)
print("排序后:", nums)

直接插入排序算法核心思想是将需要排序的部分分为两部分,一部分是排序好的,另一部分是未排序的。每次从未排序的部分中抽取一个数字,通过比较大小,将其放入指定位置,每排序一个数字,未排序部分就少一个数字,直到所有排序完成。具体Python代码如下:

def insertSort(nums):
   for i in range(1,len(nums)):
      temp = nums[i]
      j = i-1
      while j>=0 and nums[j]>temp:
         nums[j+1]=nums[j]
         #j-1,向前比较
         j-=1
      nums[j+1]=temp
list = [7,4,3,8,0,4,3,5,1,6]
insertSort(list)
print(list)

直接选择排序的基本思想是从未排序的序列中选择一个最小的数字,将其放在已经排序好的部分最后,具体实现Python代码如下:

def selectSort(nums):
   for i in range(0,len(nums)):
      minIndex=i
      for j in range(i+1,len(nums)):
         if nums[j]<nums[minIndex]:
            minIndex=j
      if minIndex!=i:
         temp = nums[minIndex]
         nums[minIndex]=nums[i]
         nums[i]=temp
list = [3,5,1,8,6,9,7,0,2]
selectSort(list)
print(list)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值