• python插入排序的优化

    当有序区间有大量数据时,搜索数据的插入位置会非常耗时。 1、插入排序算法总是从有序区间搜索插入位置,以此为切入点。 2、可以使用二分搜索方法快速确认待插入的位置,所以有一个优化版本的插入排序算法,也叫二分查找插入算法。 实例 def insert_sort2(data_list):     ”’     使用二分查找函数确定待插入元素在有序区间的插入位置     ”’     count=0 #统计循环次数     length = len(data_list)     for i in r…

    影音 2021年9月15日
  • python插入排序的运行过程

    为了保证插入后数据仍然有序,需要确定插入数据的位置。 1、将待排序的数据分为两个区间。 有序区间和无序区间。初始有序区间只包含一个元素,即数组的第一个元素,其他的是无序区间。 2、依次从无序区间中选择一个元素,在有序区间中找到合适的插入位置插入,确保排序区间的数据始终有序。 3、重复这个过程。 直到无序区间的元素为空,算法结束。 实例 #encoding=utf-8 def insert_sort(data_list):     ”’     无优化版     ”’     count=0 …

    影音 2021年9月15日
  • python选择排序算法的性能分析

    1、选择排序只需要一个变量作为交换,所以空间复杂度是O(1),是原地排序算法。 2、选择排序在未排序区间选择最小值,与之前的元素交换。 对于值相同的元素,因为交换会破坏他们的相对公交车,所以是不稳定的排序算法。 例如4,1,4,2,5,这样的序列, 第一次选择后如下:1、4、4、2、5,此时顺序不变,第二次选择后如下:1、2、4、4、5,需要交换第一个4和2,所以两个4的相对顺序发生了变化,所以选择排序是一种不稳定的排序算法。 无论数据的初始状态如何,选择排序都需要在未排序元素中选择最小或最大元…

    影音 2021年9月15日
  • python冒泡排序算法的性能探究

    1、执行效率,分为最小时间复杂度、最大时间复杂度和平均时间复杂度。 最小时间复杂度:很好计算,最好的情况就是数据一开始就是有序的,因此一次冒泡即可完成,时间复杂度为 O(n) 最大时间复杂度:也很好计算,最坏的情况就是数据一开始就是倒序的,因此进行 n-1 次冒泡即可完成,时间复杂度为 O(n^2) 平均时间复杂度,严格来说平均时间复杂度就是加权平均期望时间复杂度,分析的时候要结合概率认的知识,对于包含 n 个数据的数组,有 n! 种排序方式,不同的排列方式,冒泡排序的执行时间肯定是不同的,如果…

    影音 2021年9月15日
  • python单词大小写的方法整理

    在字符串中,对其中单词部分进行大写的替换,是我们学习字符串必不可少的一门课程,本篇对单词中的大小写方法进行了整理。 1、面对字符串,如果想大写里面的首字母,只需要调用title()函数。 2、所有的字母大小写只需要调用upper()函数。 3、字符串首字母大写只需要调用capitalize()函数。 实例 str2 = “i love python” print(str2.title())  #单词首字母大写 pirnt(str2.upper())  #所有字母大写 print(str2.cap…

    影音 2021年9月15日
  • python字符串翻转的方法

    在字符串的操作中,翻转也是我们常见的操作之一,本篇就其翻转的三种方法带来介绍。 1、最简单的方法是使用切片操作来实现翻转。 2、可以使用reduce函数来实现翻转。 3、在python3中,reduce函数需要从functools中导入。 实例 #方法1 strl = “hello world” print(strl[::-1]) #方法2 from functools import reduce print(reduce(lambda x,y:y+x,strl)) 每日分享到群里,或者推荐给朋…

    影音 2021年9月15日
  • python中的三种推导式介绍

    1、列表推导式,在一个中括号里包含一个表达式。 old_list = [0,1,2,3,4,5] new_list = [] for item in old_list:     if item % 2 == 0:         new_list.append(item)   print(new_list) 2、字典推导式,把[]改成了{},并且组成元素有key和value。 old_student_score_info = {     “Jack”: {         “chinese”: …

    影音 2021年9月15日
  • 如何用python画月饼

    1、环境安装。turtle自带所以不用单独安装。 2、创建一个月饼.py文件。 import turtle 3、定义pen函数,就是画笔。 t = turtle.Pen() 4、circle指令画出月饼形状。 for i in range(30):   #使用for循环,可以把上面的图形重复绘制多次。直到绘制成一个园。     t.begin_fill()     t.forward(200)    #我们让画笔t朝着箭头方向移动200像素点的距离     t.circle(30,180)  #…

    影音 2021年9月15日
  • python中PCA的处理过程

    1、输入矩阵归一化处理。 2、计算样本协方差矩阵。 3、求解协方差矩阵指定的最大特征值对应特征向量。 4、确定转换矩阵,求解降维数据。 实例 #/usr/nom/env python # _*_coding:utf-8_*_ # @Time      :2021/9/3 10:04 # @Author    :A bigfish # @FileName  :maindemo13.py # @Software  :PyCharm   import matplotlib.pyplot as plt …

    影音 2021年9月15日
  • python快速排序算法的使用

    1、选择列表中最后一个元素最基准数N,小于N的放前,大于等于N的放后。 2、将前面的最后一个数字作为基准,同上放置。 3、直到每个部分的标记相等,即完成快速排序。 实例 def move_num(my_list, low, high):     N = my_list[high]  # 确定基数N     move = low – 1  # 从左边减1开始     for i in range(low, high):         if my_list[i] <= N:         …

    影音 2021年9月15日