数据结构和算法
DamonRush
这个作者很懒,什么都没留下…
展开
-
买卖股票的最佳时机
给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。注意你不能在买入股票前卖出股票。示例1:输入: [7,1,5,3,6,4] 输出: 5 解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 =6)的时候卖出,最大利润 = 6-1 = 5 。注意利润不能是 ...原创 2020-03-16 16:16:15 · 164 阅读 · 0 评论 -
二叉树基础
文章目录1. 基本概念2.一些性质3.二叉树形式4.二叉树的遍历1.先序遍历2.中序遍历3.后序遍历4.层次遍历1. 基本概念在计算机科学中,二叉树是每个结点最多有两个子树的树结构。通常子树被称作“左子树”(left subtree)和“右子树”(right subtree)。二叉树常被用于实现二叉查找树和二叉堆。2.一些性质(1) 在非空二叉树中,第i层的结点总数不超过2i−12^{i-...原创 2020-03-11 23:43:47 · 188 阅读 · 0 评论 -
布隆过滤器原理简介
文章目录1、基本概念2、示例3、影响误判的几个因素4、guava实现的BloomFilter5、总结1、基本概念本质上是一种数据结构,比较巧妙的概率型数据结构,本身是一个很长的二进制向量,存放的不是0就是1。特点是高校的插入和查询,可以用来告诉你“某样东西一顶不存在或者可能存在”。主要用来判断某一元素在某一集合中存不存在;相比于传统的List,Set,Map等数据结构,他更高效、占中空间更少,...原创 2020-03-04 15:14:35 · 4013 阅读 · 0 评论 -
复杂度分析总结
一、什么是复杂度分析?1.数据结构和算法解决是“如何让计算机更快时间、更省空间的解决问题”。2.因此需从执行时间和占用空间两个维度来评估数据结构和算法的性能。3.分别用时间复杂度和空间复杂度两个概念来描述性能问题,二者统称为复杂度。4.复杂度描述的是算法执行时间(或占用空间)与数据规模的增长关系。二、为什么要进行复杂度分析?1.和性能测试相比,复杂度分析有不依赖执行环境、成本低、效率高...转载 2018-12-17 16:09:15 · 240 阅读 · 0 评论