冒泡排序-体育委员两两摸头
选择排序-体育老师一指禅
插入排序-起扑克牌
计数排序-强迫症收牌
快排
堆排
归并排
排序可视化网站:https://visualgo.net/bn/sorting
哈希-所有满足一个key对应一个value的条件都是哈希(数组的本质就是哈希)
计数排序-统计哈希数组内每一个数字出现的次数
计数排序速度快于比较排序
比较排序-NlogN
计数排序很快,但是只能排0~+无穷的正数,需要一个哈希
桶排序:一个桶里可放多个数字,只在桶内进行比较,所以很快(计数排序会浪费桶所以快.桶排序不会所以要多排几次)[要么浪费空间,要么浪费时间]
基数排序-按个位,十位,百位,千位...分别排队,然后按照队列取出
队列-先进先出(入push->出shift),可以用数组实现,就像生活中的排队
栈-先进后出(入push->出pop),可以用数组实现,如进电梯,盗梦空间
链表-可以直接删除中间的某一项,数组不行
image.png
树
image.png
层数n| n层最多几个节点| 所有层
n |2^n | 2^(n+1) -1
image.png
堆排序:nlogn
最大堆:1最大元素在根结点2每个父节点元素值大于等于其孩子结点
最小堆:1最小元素在根结点2每个父节点元素值小于等于其孩子结点
堆排序原理:
网友评论