随笔分类 -  数据结构与算法之美

来自极客时间的学习总结
摘要:LRU缓存淘汰算法 缓存是一种 阅读全文
posted @ 2018-12-06 14:25 _sanjun 阅读(101) 评论(0) 推荐(0)
摘要:如何实现随机访问? 数组是一种线性表数据结构。它用一组连续的内存空间,来存储一组具有相同类型的数据。 线性表 线性表就是数据排成像一条线一样的结构。每个线性表上的数据最多只有前和后两个方向。 非线性表 在非线性表中,数据之间并不是简单的前后关系。 连续的内存空间和相同类型的数据。 int[] a = 阅读全文
posted @ 2018-11-26 23:55 _sanjun 阅读(462) 评论(0) 推荐(0)
摘要:![](https://img2018.cnblogs.com/blog/1251936/201811/1251936-20181126235244620-174677319.png) 阅读全文
posted @ 2018-11-26 23:53 _sanjun 阅读(134) 评论(0) 推荐(0)
摘要:如何分析、统计算法的执行效率和资源消耗? 执行效率是算法一个非常重要的考量指标。 时间、空间复杂度分析。 为什么需要复杂度分析 1、测试结果非常依赖测试环境 2、测试结果受数据规模的影响很大 我们需要一个不同具体的测试数据来测试,就可以粗略地估计算法的执行效率的方法。 大O复杂度表示法 粗略估计,每 阅读全文
posted @ 2018-11-26 14:54 _sanjun 阅读(385) 评论(0) 推荐(1)
摘要:什么是数据结构?什么是算法? 从广义上讲,数据结构就是指一组数据的存储结构,算法就是操作数据的一组方法。 从狭义上讲,数据结构是队列、堆、栈等,算法是二分查找、动态规划等。 数据结构和算法是相辅相成的。 数据结构是为算法服务的,算法要作用在特定的数据结构之上。 比如数组具有随机访问的特点,常用的二分 阅读全文
posted @ 2018-11-25 23:53 _sanjun 阅读(466) 评论(0) 推荐(0)
摘要:面试大厂 无论是校招还是社招,大厂都喜欢让人手撕算法代码。 业务开发工程师 虽然整天都是使用CRUD,但是想要用好,用对类库,就需要了解它们的设计原理(数据结构),时间、空间复杂度分析等。 我们还会使用到各种框架,中间件和底层系统,譬如Spring、RPC框架、消息中间件、Redis等,里面有很多基 阅读全文
posted @ 2018-11-25 23:44 _sanjun 阅读(585) 评论(0) 推荐(0)