dangdangA

导航

2020年6月29日 #

排序算法之归并排序

摘要: 1.归并算法思想: 归并排序(MERGE-SORT)是利用归并的思想实现的排序方法,该算法采用经典的分治(divide-and-conquer)策略(分治法将问题分(divide)成一些小的问题然后递归求解,而治(conquer)的阶段则将分的阶段得到的各答案"修补"在一起,即分而治之)。 归并排序 阅读全文

posted @ 2020-06-29 15:17 dangdangA 阅读(173) 评论(0) 推荐(0) 编辑

排序算法之快速排序

摘要: 1.快速排序定义: 快排的主要思想:分治+迭代,只需要三步: 在数列之中,选择一个元素作为”基准”(pivot),或者叫比较值。 数列中所有元素都和这个基准值进行比较,如果比基准值小就移到基准值的左边,如果比基准值大就移到基准值的右边 以基准值左右两边的子列作为新数列,不断重复第一步和第二步,直到所 阅读全文

posted @ 2020-06-29 13:45 dangdangA 阅读(270) 评论(0) 推荐(0) 编辑

2020年6月12日 #

Python 多线程

摘要: 参考博文: https://blog.csdn.net/beidaol/article/details/89135277 1)进程,线程的概念 2)线程安全 当多个线程访问某个方法时,不管你通过怎样的调用方式、或者说这些线程如何交替地执行,我们在主程序中不需要去做任何的同步,这个类的结果行为都是我们 阅读全文

posted @ 2020-06-12 10:02 dangdangA 阅读(141) 评论(0) 推荐(0) 编辑

2020年2月19日 #

排序算法之希尔排序

摘要: 整理自B站真情的可贵课程内容~ 1.希尔排序定义: 是直接插入排序的一种更高效的改进版本。希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法;随着增量逐渐减少,每组包含的关键词越来越多,当增量减至1时,整个文件恰被分为一组,算法便终止。希尔排序又称“缩小增量排序”,即每趟只对相同增量距 阅读全文

posted @ 2020-02-19 19:16 dangdangA 阅读(285) 评论(0) 推荐(0) 编辑

2020年2月18日 #

排序算法之插入排序

摘要: 插入排序 1.时间复杂度: 最优时间复杂度:O(n) 最坏时间复杂度:O(n2) 2.稳定性:稳定 3.插入排序举例:alist = [93, 54,77,31,44,55,226] j = 1,i = 1开始当i = 1时,判断54和93的大小关系(即 i=1 和 i= 0 位置的大小关系),此时 阅读全文

posted @ 2020-02-18 22:15 dangdangA 阅读(144) 评论(0) 推荐(0) 编辑

排序算法之选择排序

摘要: 选择排序 概念: 将原始的列表分为两组:一组认为是排序好的(默认升序),另一组认为是未排序,重点是放在未排序部分; 第一轮:默认位置0上的元素是最小的,然后对比其他位置元素将位置0上的元素与真正最小元素进行调换; 第二轮:默认位置1上的元素是最小的,然后对比其他位置元素将位置1上的元素与真正次二小元 阅读全文

posted @ 2020-02-18 13:52 dangdangA 阅读(157) 评论(0) 推荐(0) 编辑

2020年2月16日 #

排序算法之冒泡排序

摘要: 冒泡排序:最简单的排序算法 时间复杂度: 最优时间复杂度O(N),表示遍历一次没有发现任何可以交换的元素,排序结束 最差时间复杂度O(N2) 稳定性:稳定 Python代码: 1 #bubble_sort:冒泡排序 2 3 def bubble_sort(alist): 4 """冒泡排序""" 5 阅读全文

posted @ 2020-02-16 20:08 dangdangA 阅读(147) 评论(0) 推荐(0) 编辑

2020年1月10日 #

Python中__init__与self的解释

摘要: __init__与self的解释 相信很多小伙伴最初接触到类的时候,都遇到过这类困扰,为什么每个都需要self一下,今天我来说道说道 self:Python中的self是个对象(object),是当前类的实例 话不多说,直接上例子 1 class Dog(object): 2 #初始化实例 3 de 阅读全文

posted @ 2020-01-10 17:50 dangdangA 阅读(461) 评论(0) 推荐(0) 编辑

Python中 if __name__ == "__main__"解释

摘要: if __name__ == "__main__"解释 分两种情况: 1).当.py文件被直接运行时,if __name__ == "__main__" 之下的代码将被运行,此时该文件中有没有这行代码没有明显区别 2).当.py文件以模块形式被导入时,if __name__ == "__main__ 阅读全文

posted @ 2020-01-10 17:21 dangdangA 阅读(180) 评论(0) 推荐(0) 编辑

Python活力练习Day25

摘要: Day25:九九乘法表 #按照给定格式输出 #代码中"\t"表示制表符,统一格式间距 #"\n"表示换行符,按照不同的i 进行换行 1 for i in range(1,10): 2 for j in range(1,i+ 1): 3 s = i * j 4 print("{} * {} = {}" 阅读全文

posted @ 2020-01-10 16:50 dangdangA 阅读(151) 评论(0) 推荐(0) 编辑