当前位置: 首页 > 编程笔记 >

Python编程二分法实现冒泡算法+快速排序代码示例

轩辕煜
2023-03-14
本文向大家介绍Python编程二分法实现冒泡算法+快速排序代码示例,包括了Python编程二分法实现冒泡算法+快速排序代码示例的使用技巧和注意事项,需要的朋友参考一下

本文分享的实例主要是Python编程二分法实现冒泡算法+快速排序,具体如下。

冒泡算法:

#-*- coding: UTF-8 -*-
#冒泡排序

def func(lt):
if type(lt).__name__ !='list' and type(lt).__name__ !='tuple':
return
if type(lt).__name__ == 'tuple':
return list(lt)
for i in range(1,len(lt)-1):
   for j in range(1,len(lt)-i):
     if lt[j] > lt[j+1]:
     lt[j],lt[j+1] = lt[j+1],lt[j]
return lt


lt_01 = [2,34,5,14,7,28]
print func(lt_01)

=================================================

二分法:(通过函数递归调用实现)

def func(lt=[]):
  if type(lt).__name__ !='list' and type(lt).__name__!='tuple':
    return
  if type(lt).__name__ =='tuple':
    return list(lt)
  if len(lt)<=1:
    return lt
  k = lt[0]
  lt_l = []
  lt_r = []
  lt_m = []
  for i in lt:
    if i>k:
      lt_r.append(i)
    elif i<k:
      lt_l.append(i)
    else:
      lt_m.append(i)
  lt_l=func(lt_l)
  lt_r=func(lt_r)
  return lt_l + lt_m + lt_r


a = [2,4,12,6,23,16,28]
print func(a)

总结

以上就是本文关于Python编程二分法实现冒泡算法+快速排序代码示例的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

 类似资料:
  • 本文向大家介绍Scala实现冒泡排序、归并排序和快速排序的示例代码,包括了Scala实现冒泡排序、归并排序和快速排序的示例代码的使用技巧和注意事项,需要的朋友参考一下 1、冒泡排序 2、归并排序 3、快速排序 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。

  • 本文向大家介绍java冒泡排序和快速排序代码,包括了java冒泡排序和快速排序代码的使用技巧和注意事项,需要的朋友参考一下 冒泡排序: 基本思想:在要排序的一组数中,对当前还未排好序的范围内的全部数,自上而下对相邻的两个数依次进行比较和调整,让较大的数往下沉,较小的往上冒。即:每当两相邻的数比较后发现它们的排序与排序要求相反时,就将它们互换。 快速排序: 算法:当数据量很大适宜采用该方法。采用二分

  • 这学期我们学习了分而治之,在分而治之中,问题被分成子问题,然后像合并排序或快速排序一样解决。 虽然我发布这个问题不是为了让你们解决我的作业,我们的教授给了我们一个任务,让我们把冒泡排序作为一种分治算法来实现,现在我坐在笔记本电脑上,几天都在挠头,想知道冒泡排序是如何分治算法的。 如果我试图将冒泡排序实现为分治,数组必须被分割,当我将数组划分为最后一个元素,然后将其合并回已排序的形式时,算法就变成了

  • 本文向大家介绍汇编实现冒泡排序的方法示例,包括了汇编实现冒泡排序的方法示例的使用技巧和注意事项,需要的朋友参考一下 冒泡排序算法的运作如下:(从后往前) 1.比较相邻的元素。如果第一个比第二个大,就交换他们两个。 2.对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。 3.针对所有的元素重复以上的步骤,除了最后一个。 4.持续每次对越来越少的元素重复

  • 主要内容:冒泡排序算法的具体实现冒泡排序是所有排序算法中最简单、最易实现的算法,有时也称为起泡排序算法。 使用冒泡排序算法对 n 个数据进行排序,实现思路是:从待排序序列中找出一个最大值或最小值,这样的操作执行 n-1 次,最终就可以得到一个有序序列。 举个例子,对 {14, 33, 27, 35, 10} 序列进行升序排序(由小到大排序),冒泡排序算法的实现过程是: 从 {14, 33, 27, 35, 10} 中找到最大值

  • 本文向大家介绍go实现冒泡排序的示例代码,包括了go实现冒泡排序的示例代码的使用技巧和注意事项,需要的朋友参考一下 冒泡排序: (Bubble Sorting)基本思想是通过对待排序序列从后向前(从下标较大的元素开始)以此比较相邻元素的排序码,若发现逆序则交换,使排序码较小的元素逐渐从后补移向前部(从下标较大的单元移向单位较小的单元),就像水底的气泡一样逐渐向上冒。 因为排序的过程中,各元素不断的

  • 本文向大家介绍请用C# 编程实现一个冒泡排序算法?相关面试题,主要包含被问及请用C# 编程实现一个冒泡排序算法?时的应答技巧和注意事项,需要的朋友参考一下 答:  

  • 本文向大家介绍C++冒泡排序算法实例,包括了C++冒泡排序算法实例的使用技巧和注意事项,需要的朋友参考一下 冒泡排序 大学学习数据结构与算法最开始的时候,就讲了冒泡排序;可见这个排序算法是多么的经典。冒泡排序是一种非常简单的排序算法,它重复地走访过要排序的数列,每一次比较两个数,按照升序或降序的规则,对比较的两个数进行交换。比如现在我要对以下数据进行排序: 10 3 8 0 6 9 2 当使用冒泡