常喝水
常喝水
全部文章
算法
未归档(1)
求职(4)
知识积累(1)
项目(4)
题解(69)
归档
标签
去牛客网
登录
/
注册
学习日记
一房二人三餐四季,星辰大海,雅俗共度
全部文章
/ 算法
(共10篇)
计数排序、桶排序
计数排序适用于一定范围的整数排序。在取值范围不是很大的情况下,它的性能在某些情况甚至快过那些O(nlogn)的排序,例如快速排序、归并排序。 计数排序原理:找到给定序列的最小值与最大值创建一个长度为最大值-最小值+1的数组,初始化都为0然后遍历原序列,并为数组中索引为当前值-最小值的值+1此时数组中...
排序算法
2020-09-16
0
639
python刷题小技巧
1. function 1.1 collections.defaultdict() 应用:https://leetcode-cn.com/problems/minimum-window-substring/ Python中通过Key访问字典,当Key不存在时,会引发‘KeyError’异常。为...
2020-06-30
0
1020
其他网站编程题解汇总
计算字符串的信息熵 利用熵的公式 计算每个字符出现的概率 股神 将数字分解使乘积最大 注意分解的数字不能相同,利用动态规划 其中k的取值范围为0到j-1,保证j之前没出现过 dp[i][j] = max(dp[i][j],dp[i-j][k]*j),dp[i][j]...
2020-03-19
0
787
题解汇总|剑指offer|python
来自专栏
链表 [6.从尾到头打印列表]https://blog.nowcoder.net/n/e4e8ab1a990c463fa4a992efcdb8d404 [18.删除链表中的重复节点*]https://blog.nowcoder.net/n/e335b20389244cd8a79483ce064e6...
剑指offer
2020-02-01
0
783
快速排序
思路分析:快速排序采用双向查找的策略,每一趟选择当前所有子序列中的一个关键字作为枢纽轴,将子序列中比枢纽轴小的前移,比枢纽轴大的后移,当本趟所有子序列都被枢轴按上述规则划分完毕后将会得到新的一组更短的子序列,他们将成为下趟划分的初始序列集。 算法分析:分裂是O(log n),移动是O(n),综合起来...
排序算法
2019-12-05
0
804
归并排序Merge Sort
动画演示:https://www.runoob.com/python3/python-merge-sort.html 算法分析:将归并排序分为两个过程来分析:分裂和归并。 分裂的过程,借鉴二分查找中的分析结果,是对数复杂度,时间复杂度是O(log n) 归并的过程,相对于分裂的每个部分,其所有数...
排序算法
2019-12-05
0
915
谢尔排序Shell Sort
谢尔排序以插入排序作为基础 子列表的间隔一般从n/2开始 大致介于O(n)和O(n^2)之间,如果将间隔保持在 (1,3,5,7,15,31等等),谢尔排序的时间复杂度约为O( ) def shellSort(alist): sublistcount = len(alist)//2 ...
排序算法
2019-12-05
0
826
插入排序
比对复杂度是O(n^2) 假设数列第一个元素为已排序数列,剩余数列为未排序将待排序元素挨个插入到已排序数列中每次插入都必须保证数列是有序的,即通过比较和移动有序数列中的元素,将元素插入到合适的位置 思路:如同玩扑克牌一样,每次摸牌都将它与手中的牌比较,始终将牌放在比它大的牌前面,比它小的牌后面。这样...
排序算法
2019-12-04
0
519
选择排序
选择排序对冒泡排序进行了改进,每趟都使当前最大项就位 选择排序的时间复杂度比冒泡排序稍优:对比次数是O( ),交换次数减少为O(n) def selectionSort(alist): for fillslot in range(len(alist)-1,0,-1): po...
排序算法
2019-12-04
0
568
冒泡排序
关于各种排序算法的动画演示 https://visualgo.net/zh/sorting?slide=1 冒泡排序 比对的次数复杂度是O(n^2),交换的时间复杂度也是O(n^2) 优势:无需额外的存储空间,可以在链表上操作 原理:比较两个相邻的元素,将值大的元素交换到右边def bubb...
排序算法
2019-12-04
0
689