- 博客(4)
- 收藏
- 关注
原创 算法学习04--列表排序和其他排序算法
排序:将一组“无序”的记录序列调整为为“有序”的记录序列列表排序:将无序列表变为有序列表输入:列表输出:有序列表升序和降序内置排序函数:sort()排序low b三人组:冒泡排序、选择排序、插入排序排序NB三人组:快速排序、堆排序、归并排序其他排序:希尔排序、计数排序、基数排序。
2024-10-17 10:33:42
1417
原创 算法学习03--列表查找之顺序查找和二分查找
又叫折半查找,从有序列表的初始候选区li[0:n]开始,通过对待查找的值与候选区中间值的比较,可以使候选区减少一半。3.二分查找(二分查找相比顺序查找,有一定的前提条件,需要将无序的列表进行有序的排列后再查找)也叫线性查找,从列表第一个元素开始,顺序进行搜索,直到找到元素或搜索到列表最后一个元素为止。查找:在一些数据元素中,通过一定方法找出与给定关键字相同的数据元素的过程。从上述代码可以看出:顺序查找的时间复杂度为O(n)列表查找(线性表查找):从列表中查找指定元素。输入:列表、待查找元素。
2024-10-13 16:00:10
414
原创 算法学习01--时间复杂度和运行效率
显然,它不是执行了32次,而是执行了6次就结束运行代码了,所以这里的时间复杂度是怎样的呢?这个6次是n=64的时候的结果,当n=100时,结果为100、50、25、12、6、3、1,运行了7次,2的7次方等于128,大概等于100,所以log以2为底,n=100时的大概结果为7;日常生活中,吃饭花了多长时间,你不会说花了15分钟28秒35毫秒这样精确的数字,你会说大概一刻钟吧;所以时间复杂度为(log2 n)log以2为底,n为值;print('hello python') 也是O(1) 而不是O(3)
2024-10-13 08:30:00
150
原创 算法学习02--空间复杂度和经典算法递归
hanoi(n - 1, a, c, b) # 1. 先把A的n-1个盘子从A经过C移动到B。hanoi(n - 1, b, a, c) # 3. 把B的n-1个盘子从B经过A移动到C。1. 先把A的n-1个盘子从A经过C移动到B(这中间还有多次的移动)def hanoi(n, a, b, c): # a经过b移动到c。三个柱子,A,B,C,从下往上,从大到小的规律顺序摆放着64个盘子。3. 把B的n-1个盘子从B经过A移动到C(这中间还有多次的移动)2. 再把A的第n个盘子移动到C。
2024-10-12 15:00:16
367
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人