coding是一种爱好,知识需要系统学习

看到小咪呢,就会很快乐

  博客园  :: 首页  ::  ::  ::  :: 管理

随笔分类 -  数据结构&算法

摘要:先阐述一下问题: 现在有一个非常庞大的数据,假设全是 int 类型。给出一个数,判断这个数是否在其中(尽可能的高效)。 题目要求 文章给出了思路:首先想到的是 Hash 算法,它的时间复杂度是 O(1),在常量时间判断出数据是否存在。文章给出的办法是直接使用了 Java 的集合对象 HashSet( 阅读全文
posted @ 2018-12-17 13:48 fhwup 阅读(354) 评论(0) 推荐(0)

摘要:问题 某海量用户网站,用户拥有积分,积分可能会在使用过程中随时更新。现在要为该网站设计一种算法,在每次用户登录时显示其当前积分排名。用户最大规模为2亿;积分为非负整数,且小于100万。 PS: 据说这是迅雷的一道面试题,不过问题本身具有很强的真实性,所以本文打算按照真实场景来考虑,而不局限于面试题的 阅读全文
posted @ 2018-05-07 13:11 fhwup 阅读(312) 评论(0) 推荐(0)

摘要:Bloom Filter是由Bloom在1970年提出的一种多哈希函数映射的快速查找算法。通常应用在一些需要快速判断某个元素是否属于集合,但是并不严格要求100%正确的场合。使用场景:数据量为100亿、空间受限制的黑名单网页系统、垃圾邮件过滤系统、爬虫的网址判重系统等。 实例 为了说明Bloom F 阅读全文
posted @ 2018-03-18 09:06 fhwup 阅读(337) 评论(0) 推荐(0)

摘要:1.堆 堆(Heap))是一种重要的数据结构,是实现优先队列(Priority Queues)首选的数据结构。由于堆有很多种变体,包括二项式堆、斐波那契堆等,但是这里只考虑最常见的就是二叉堆(以下简称堆)。 堆是一棵满足一定性质的二叉树,具体的讲堆具有如下性质:父节点的键值总是不大于它的孩子节点的键 阅读全文
posted @ 2018-03-18 08:37 fhwup 阅读(535) 评论(0) 推荐(0)

摘要:阅读目录 1. 直接插入排序(Straight Insertion Sort) 2. 希尔排序(Shells Sort) 3. 直接选择排序(Straight Selection Sort) 4. 堆排序(Heap Sort) 5. 冒泡排序(Bubble Sort) 6. 快速排序(Quick S 阅读全文
posted @ 2018-03-17 12:07 fhwup 阅读(838) 评论(0) 推荐(0)