数据结构
不与三季人说
这个作者很懒,什么都没留下…
展开
-
数据结构之栈、队列
keep walking, if U are tired栈基本概念复杂度分析栈的应用队列基本概念复杂度分析阻塞队列和并发队列栈基本概念只允许在同一端进行插入和删除数据,也是一种线性表结构,后进者先出,先进者后出,是典型的“栈”结构。相比于数组和链表,栈只会带来更多的限制,从功能来说,数组或者链表完全可以替代栈,为什么还需要栈呢?栈把功能缩小使之更加单一,是为了避免暴露太多的操作接口,使用...原创 2019-12-04 18:24:54 · 355 阅读 · 0 评论 -
缓存淘汰策略与链表结构
学如逆水行舟缓存淘汰策略链表数组与链表用链表实现一个简单的LRU算法缓存淘汰策略缓存可以提高数据存取效率,如CPU缓存、数据库缓存。缓存大小是有限的,当缓存被用满时,应该决定哪些数据被清理出去,哪些数据保留,这就需要缓存淘汰策略,常见的策略有三种:先进先出策略FIFO(First In,First Out);最少使用策略LFU(Least Frequently Used);最近最少使...原创 2019-11-28 14:15:16 · 127 阅读 · 0 评论 -
时间复杂度与空间复杂度分析
时间是最宝贵的财富1、为什么要分析复杂度?2、大O复杂度表示法3、如何分析代码时间复杂度4、几种常见的时间复杂度O(1)O(logn)O(m+n)、O(m*n)5、空间复杂度6、最好、最坏、平均、均摊时间复杂度最好、最坏情况时间复杂度平均情况时间复杂度均摊时间复杂度1、为什么要分析复杂度?时间复杂度和空间复杂度(简称时空复杂度)是衡量算法代码的执行效率的重要指标,学习数据结构和算法离不开时间、...原创 2019-11-21 17:11:52 · 429 阅读 · 0 评论