- 博客(5)
- 资源 (1)
- 收藏
- 关注
原创 python数据类型的性能
列表list和字典dict,这是两种重要的python数据类型,可以用来实现各种数据结构,通过运行试验来估计各种操作运行时间数量级。list = list + [v]执行的时间是O(n+k),其中k是被加的列表长度。还有一个是列表增长,可以选择append()和__add__() "+"由于列表的随机访问特性,这两个操作执行时间与列表大小无关,均为O(1)最常用的是:按索引取值和赋值(v = a[i] a[i] = v)list.append()执行时间是O(1)list列表数据类型常用操作性能。
2023-10-23 16:55:35 81
原创 mac下完全卸载python环境
随着python解释器的不断更新升级和项目开发需要,有时候会需要升级或者降级系统中的python的版本,系统中留存的Pytho版本如果没有卸载干净在升级的时候会出现各种问题,所以整理如何完全卸载python环境,并且升级系统python环境。
2023-10-12 08:41:56 6786 1
原创 斐波那契数
内存中存储fib(8)...fib(1),fib(1)=1,fib(2)=1,计算出fib(3)=2,所以fib(3)出栈,计算fib(4),需要先计算fib(3),fib(1)和fib(2)入栈,得出fib(3),进而计算出fib(4),然后fib(4)出栈,所以内存中只需要存储8个变量,空间复杂度和n线性相关,空间复杂度为O(n)递归树第3层,已知fib(2),fib(3),fib(4),fib(5),计算fib(4),fib(5),fib(5),fib(6)需要4个加法操作。
2023-10-03 17:55:51 107 1
原创 归并排序(mergesort)和主定理(master theorem)
步骤三:逐一比较两个或者多个有序数组中元素,比较一组有序数组中元素算作一个操作,如果是分割两组有序数组需要进行n个操作(n为A中元素个数),如果是分割成三个有序数组则需要进行2n个操作。步骤二:在分割后的数组中采用排序算法,使分割后的两个或者多个数组分别形成有序数组,如题得出 a = 2 b = 2 (n) = n。步骤一:将以上数组A,分割成两个或者多个数组,<f(n)则T(n)的时间复杂度为。则T(n)的时间复杂度为。则T(n)的时间复杂度为。,通过f(n)进行计算。
2023-10-03 11:17:33 145 1
原创 算法复杂度介绍
赋值了两个常数a和b,分配了两个单位的内存空间,与N无关,所以空间复杂度为O(1) constant space complexity(常数空间复杂度)定理:if x的时间复杂度要优于y的时间复杂度,那么,假设存在一个足够大的数M,当n>M时,我们可以保证x的实际效率大于y的实际效率。答:指的是时间复杂度,例如x(logn) > y(n);x(nlogn)> y(n^2)x实际的效率(秒)> y实际的效率(秒)不一定!i = N-1 j = N需要1次操作。时间复杂度 O(N^2)时间复杂度 O(N)
2023-10-01 18:16:41 122 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人