python算法思维导图

作者注:思维导图画出来非常难,我花了1天才花出来,我是用手画出来的(电脑中自带的画图)

上一次我做了那个名字我改了一下

原作者:嘿嘿就是我,^_^^_^………………

目录

一.算法的特点        

二.排序算法

2.1冒泡算法

 2.2选择排序——有点难度

2.3非常有难度的——插入排序

 三.查找算法

3.1顺序查找——也就是所谓的枚举法来查找

 3.2对分查找——这个思维导图是最长的

 彩蛋:

                                                                              表情包大浪


一.算法的特点        

有穷性:执行步骤有限

确定性:每个步骤都是可行的,并且能在有限的时间内完成。

有1个或多个输出

有0个或多个输入

二.排序算法

2.1冒泡算法

重点:2个2个比较

注意了:下图只是一个大循环中的一次

 源代码:

a=[1,6,7,3,5,2,4,8]#序列
b=len(a)
for i in range(0,b-1):
         for j in range(0,b-1-i):
                 if a[j]<a[j+1]:
                         a[j],a[j+1]=a[j+1],a[j]
print(a)

思维导图(更好理解一些) :

 

 2.2选择排序——有点难度

重点:0号位和后面的最小的一个数交换位置

 源代码:

a=[3,9,1,0,7, 6]
print('开头',a)
count = len(a)
for i in range(0, count-1):
    k = i
    for j in range(i + 1, count):
        if a[k] > a[j]:
            k = j
    if k != i:
        a[k], a[i] = a[i], a[k]
print('end', a)

思维导图(让人好理解一些):

2.3非常有难度的——插入排序

重点:把一个拿出来与前面的相比来插入。 

 乍一看图一点难度也没有,但是代码有点难。

a=[5,1,9]
count=len(a)
for i in range(0,count):
    key=a[i]
    j=i-1
    while j>=0 and a[j]<key:
        a[j+1]=a[j]
        j-=1
        print(a)
        a[j+1]=key
print(a)

如果理解代码有点难请看思维导图:

 三.查找算法

3.1顺序查找——也就是所谓的枚举法来查找

一个个枚举,看看和要查找的元素是否相同。

图片我就不放了。

简单的代码:

lst=[32,17,56,25,26,89,65,12]
key=12
b=-1
for i in lst:
    if i==key:
        b=lst.index(i)
        break
if b!=-1:
    print(str(key)+'的索引是:'+str(b))
else:
    print(str(key),'没找到')

我用的是遍历,你们可以用range

简单的流程图:

流程图太大了

 3.2对分查找——这个思维导图是最长的

分成2半分成 2半还是分成 2半。

源代码:

lst=[1,2,3,46,57]
key=46
n=len(lst)
i,j=0,n-1
b=-1
while i<=j:
    m=(i+j)//2
    if key==lst[m]:
        b=m
        break
    elif key>lst[m]:
        i=m+1
    else:
        j=m-1
if b!=-1:
    print(str(key)+'的索引是:'+str(b))
else:
    print(str(key),'没找到')

超长的个思维导图:

 彩蛋:

                                                                              表情包大浪

电脑也有自带的表情包,符号构成的表情包和搞笑表情包……,我用的是windows电脑,来到设置里,点开个性化,里面有个文本输入,点开它,右上角就会出现按哪个键可以语音输入和输入表情包。上面还有个输入栏,你可以在上面输入试一试。我这台电脑是按像窗户的那个键和分号(;)输入表情包。按像窗户那个键和h语音输入。

现在我给你们展示几个表情包:

                                                                                                                                                                                     

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值