冒泡排序 Bubble Sort

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class Solution:
def MySort(self , arr ):
# write code here
# return sorted(arr)
#冒泡排序 O(n**2)
n = len(arr)
left = 0
while left < n-1:
right = left + 1
while right < n:
if arr[left] > arr[right]:
arr[left], arr[right] = arr[right], arr[left]
right += 1
left += 1
return arr

桶排序 Bucket Sort

基本思路是:

  • 将待排序元素划分到不同的痛。先扫描一遍序列求出最大值 maxV 和最小值 minV ,设桶的个数为 k ,则把区间 [minV, maxV] 均匀划分成 k 个区间,每个区间就是一个桶。将序列中的元素分配到各自的桶。
    对每个桶内的元素进行排序。可以选择任意一种排序算法, 将各个桶中的元素合并成一个大的有序序列。
  • 假设数据是均匀分布的,则每个桶的元素平均个数为 n/k 。假设选择用快速排序对每个桶内的元素进行排序,那么每次排序的时间复杂度为 O(n/klog(n/k)) 。总的时间复杂度为 O(n)+O(k)O(n/klog(n/k)) = O(n+nlog(n/k)) = O(n+nlogn-nlogk 。当 k 接近于 n 时,桶排序的时间复杂度就可以金斯认为是 O(n) 的。即桶越多,时间效率就越高,而桶越多,空间就越大。
阅读全文 »

What is CNN?

前馈神经网络的一种,主要由卷积层构成,具有局部连接(稀疏交互)权值共享(参数共享)等特性,主要用于图像识别领域

阅读全文 »

并查集算法

并查集:一种树型数据结构(一片森林),常用于处理不交集(一棵棵树)的合并与查询问题

  • [X] 动手使用python实现 并查集4个版本🚀️
  • [X] 应用刷题!🎉️
阅读全文 »

  • [X] 👀️ 图在Python中的表示方法有哪些?
  • [X] 🎉️ DFS
  • [X] BFS
  • [X] Priority Queue by heap
  • [ ] Dijkstra
阅读全文 »