Python 数据结构与算法 二分查找选择排序

Python 数据结构与算法 二分查找选择排序,第1张

文章目录
  • 前言
  • 一、《图解算法》-二分查找
  • 二、《图解算法》-选择排序


前言

2022/4/22 菜鸡记录-Python 重新学习和复习算法:

所使用的图书《图解算法》及《常用数据挖掘算法总结及Python实现》-(同学给的一份FDP,是名为Xuejun Yang作者,在此谢过),文章仅记录代码,概念请自行查询。


提示:以下是本篇文章正文内容,下面案例可供参考

一、《图解算法》-二分查找
def binary_search(list,item):
    low = 0
    high = len(list)-1
    while low<=high:
        mid = (low+high) //2
        guess = list[mid]
        if guess == item:
            return mid
        elif guess > item:
            high = mid-1
        elif guess < item:
            low = mid+1
    return None
my_list = [1,3,5,7,9,11]
print(binary_search(my_list,7))
print(binary_search(my_list,1))
二、《图解算法》-选择排序

代码如下(示例):

# 选择排序
# 1.用于找出数组中最小元素的函数
def findSmallest(arr):
    smalllest=arr[0]
    smalllest_index=0
    for i in range(1,len(arr)):
        if arr[i]<smalllest:
            smalllest=arr[i]
            smalllest_index=i
    return smalllest_index
# 2.选择排序算法
def selectionSort(arr):
    newArr=[]
    for i in range(len(arr)):
        smalllest=findSmallest(arr)
        newArr.append(arr.pop(smalllest))
    return newArr

# 排序Test
print(selectionSort([5,3,6,2,10]))

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/729723.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-27
下一篇 2022-04-27

发表评论

登录后才能评论

评论列表(0条)

保存