【B站_凸头】数据分析_机器学习_06/07/08_流程控制专题

(0)引言

课程链接:

20天,基础入门-数据分析-机器学习(全套) 魔鬼训练营,快速上手必备_哔哩哔哩_bilibili

# 本节覆盖的课程内容:

06_流程控制

07_流程控制巩固01

08_流程控制巩固02 

(1)流程控制

# (1)流程控制这里,简单理解就是条件判断语句、循环语句等。【只做复习,不做过多介绍】

                1)if语句(其实没什么说的,学过C语言都知道,这里只给出python的格式就行)。那么if语句,可以分为三种类型,单分支语句(就是一个if的情况)、双分支语句、多分枝语句。

                双分支语句:

                多分支语句:


             

#(2) 循环控制

                 1)while语句。如果想要直接跳出循环,可以使用break语句,后面给出代码。这里不赘述,因此对于代码也是随便写的,保证基本展示功能即可。【break可以在for语句和while语句种使用,并且break只会跳出离他最近的一层循环,也就是说对于多层嵌套的循环,break只会结束一层的循环,不影响其他层(其他层为外层,如果是内层自然也一并结束了)。】

                2)for循环语句。具体的话如下图以及后面的代码图示。这里提及str()转换,和int()转换一样,前者是转化为字符串,后者是转为整型数据。都是类型转换【是不是强制类型转换?】。

                 for语句的进阶应用

                

                 else从句:其实就是循环正常结束才会产生作用(也就是没有中断语句的正常结束)。如果循环遇到了break中断,那么else语句是不会执行的,这里很简单,while也有else从句。

                3)两种循环语句的选择【需要编写更多的代码来体会】。循环中断的语句有break和continue两种,前者在while语句时有介绍(并且有下图详细介绍),后者是中止此次循环,但是不会结束循环。


# (3)综合应用案例

                【很简单】


                 

        

(2)流程控制巩固01 / 02

# (1)排序算法。【实践作业】

                1)冒泡排序的实现。思想:小的浮起来,大的沉下去。实现起来也很简单,就是前后比较,小的往前走。要重复多遍,才能变为有序序列。【看看天勤就好,然后代码作为作业写写吧。】

                2)选择排序的实现。思想:在无序序列 A 中,我们选择出最小的一个元素,把该元素与序列 A 的第一个元素交换位置, 从而最小元素自己成为有序序列 B ,无序序列 A 长度减一 ,重复上述步骤就能够把序列变为有序序列了。

                3)插入排序算法的实现。思想:假设无序序列 [49,38,65,76,13,21,49'] 那么对于该序列(为区分49,所以多的49我们给一个记号 即49‘),我们首先要做的是取出第一个关键字 49 作为有序序列,即如下:

        第一趟:49  [38,65,76,13,21,49'],然后逐个插入 49 的序列(要和49进行比较),即 38 , 49。

        第二趟:38,49  [65,76,13,21,49'],把65 插入有序序列,即38,49,65。

        第三趟:38,49,65 [76,13,21,49'],把76插入有序序列,即 38,49,65,76。

        第四趟:38,49,65,76 [ 13,21,49' ] ,把13 插入有序序列,进行逐元素比较发现13最小,则有序序列 13,38,49,65,76。

        第五趟:13,38,49,65,76  [ 21,49' ],把21插入有序序列,进行逐元素比较,即13,21,38,49,65,76。

        第六趟:13,21,38,49,65,76  [ 49' ],把49'插入有序序列,我们发现49 = 49’,因此最终的有序序列:[ 13,21,38,49,49',65,76 ]。可以看到 49 还是在 49' 的前面,因此直接插入排序是稳定的排序算法。 


# (2)查找算法。【实践作业】

                1)折半查找(二分查找)。首先折半查找要求序列本身是有序的。那么为了更好讲述,这里假设有序序列: [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 ]。折半查找的思想就是建立一个折半查找判定树(二叉树)。以下是构造过程。【实际上就是对于一个序列,我们把最前面的元素位置作为 low ,最后的元素作为 high,判定树的根节点的计算为 (low + high) /2 的向下取整,构造过程可以直接手写了】 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值