数据结构-常用知识点

实战

整型数组长度为n,内部有一个元素的出现次数大于n>>1,请设计一个算法求出这个元素(要求时间复杂度O(n),空间复杂度O(1))

链表

单向链表 O(n)
双向链表 O(1)

双向链表

1.添加元素
头插法:将右边固定,左边头部新增元素。
尾插法:将左边固定,右边头部新增元素。

2.应用场景。
实际应用LRU ,Java中的 「 Mybatis 」,iOS中的 「YYCache」与「Lottie」。
链表实现LRU:
如果缓存在链表中,遍历得到该数据所在的结点,并将其从原来的位置删除,通过头插法插到链头。
如果没缓存,再判断缓存是否未满,未满就直接将它插到链头,已满就把链尾的结点删除,将新数据插到链头。

AB测试,灰度测试。转化率优化,广告优化。

猜你喜欢

转载自blog.csdn.net/samuelandkevin/article/details/89890932