-
python中Git的常用命令
1、Git fetch 下载远程仓库的所有变化。 可以将远程仓库下载到临时分支机构,然后根据需要合并。 2、Git fetch和git merge 可视为git pull命令的分解动作。 3、Git diff 常用于比较工作区和仓库、暂存区和仓库以及两个分支之间的区别。 4、Git stash 将当前工作区和暂存区的变化放在临时区域,使工作区干净。这个命令适用于手头工作还没有提交的场景,但是突然有一个更紧急的任务(比如在线bug需要修改)需要处理。 5、Git reset 返回到指定版本。这个命…
-
python中Git分支操作
1、关联远程分支,当前所在的分支还没有关联到远程分支的情况。 git branch –set-upstream-to origin/develop 分支合并。可以先切回到master分支然后使用git merge来做分支合并。 2、在dev分支上完成开发任务之后,将dev分支上的成果合并到master。 git switch <target-branch> git merge –no-ff <target-branch> 3、删除分支,可以使用git branch加上…
-
python希尔排序的用法
1、根据相邻元素进行排序,如果直接插入排序为步长为1,那么希尔排序就是先按步长为K插入排序。 2、然后在步长K排序的基础上对步长m进行排序,K大于m,最后对步长1进行排序。 实例 def shell_sort(data_list): ”’ 思想:分治策略 使用 for 循环 ”’ length = len(data_list) space = length//2 while space > 0: for i in …
-
python插入排序的性能问题
1、空间复杂度是O(1),是原地排序算法。 除了运行时需要临时变量存储交换的数据和下标外,不需要额外的存储空间。 2、稳定性,对于值相同的元素,选择将后面出现的元素插入前面出现的元素后面。 这样可以保证原来的前后顺序不变,所以是一种稳定的排序算法。 3、时间复杂度,最好的时间复杂度是O(n)。 如果数据有序,不需要移动任何数据。在搜索插入位置时,我们可以从尾到尾在有序区间搜索插入位置,每次只需要比较一次就可以确定插入位置。如果数据是倒序的,每次都相当于在数据的第一位插入新数据,所以需要移动大量的…
-
python插入排序的优化
当有序区间有大量数据时,搜索数据的插入位置会非常耗时。 1、插入排序算法总是从有序区间搜索插入位置,以此为切入点。 2、可以使用二分搜索方法快速确认待插入的位置,所以有一个优化版本的插入排序算法,也叫二分查找插入算法。 实例 def insert_sort2(data_list): ”’ 使用二分查找函数确定待插入元素在有序区间的插入位置 ”’ count=0 #统计循环次数 length = len(data_list) for i in r…
-
python插入排序的运行过程
为了保证插入后数据仍然有序,需要确定插入数据的位置。 1、将待排序的数据分为两个区间。 有序区间和无序区间。初始有序区间只包含一个元素,即数组的第一个元素,其他的是无序区间。 2、依次从无序区间中选择一个元素,在有序区间中找到合适的插入位置插入,确保排序区间的数据始终有序。 3、重复这个过程。 直到无序区间的元素为空,算法结束。 实例 #encoding=utf-8 def insert_sort(data_list): ”’ 无优化版 ”’ count=0 …
-
python选择排序算法的性能分析
1、选择排序只需要一个变量作为交换,所以空间复杂度是O(1),是原地排序算法。 2、选择排序在未排序区间选择最小值,与之前的元素交换。 对于值相同的元素,因为交换会破坏他们的相对公交车,所以是不稳定的排序算法。 例如4,1,4,2,5,这样的序列, 第一次选择后如下:1、4、4、2、5,此时顺序不变,第二次选择后如下:1、2、4、4、5,需要交换第一个4和2,所以两个4的相对顺序发生了变化,所以选择排序是一种不稳定的排序算法。 无论数据的初始状态如何,选择排序都需要在未排序元素中选择最小或最大元…
-
python冒泡排序算法的性能探究
1、执行效率,分为最小时间复杂度、最大时间复杂度和平均时间复杂度。 最小时间复杂度:很好计算,最好的情况就是数据一开始就是有序的,因此一次冒泡即可完成,时间复杂度为 O(n) 最大时间复杂度:也很好计算,最坏的情况就是数据一开始就是倒序的,因此进行 n-1 次冒泡即可完成,时间复杂度为 O(n^2) 平均时间复杂度,严格来说平均时间复杂度就是加权平均期望时间复杂度,分析的时候要结合概率认的知识,对于包含 n 个数据的数组,有 n! 种排序方式,不同的排列方式,冒泡排序的执行时间肯定是不同的,如果…
-
python单词大小写的方法整理
在字符串中,对其中单词部分进行大写的替换,是我们学习字符串必不可少的一门课程,本篇对单词中的大小写方法进行了整理。 1、面对字符串,如果想大写里面的首字母,只需要调用title()函数。 2、所有的字母大小写只需要调用upper()函数。 3、字符串首字母大写只需要调用capitalize()函数。 实例 str2 = “i love python” print(str2.title()) #单词首字母大写 pirnt(str2.upper()) #所有字母大写 print(str2.cap…
-
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)) 每日分享到群里,或者推荐给朋…