面试实战题-数据结构与算法

数据结构与算法

求TopK

大根堆 解题思路:保持堆的大小为K,然后遍历数组中的数字,遍历的时候做如下判断: *  1. 若目前堆的大小小于K,将当前数字放入堆中。 * 2. 否则判断当前数字与大根堆堆顶元素的大小关系,如果当前数字比大根堆堆顶还大,这个数就直接跳过; * 反之如果当前数字比大根堆堆顶小,先poll掉堆顶,再将该数字放入堆中。

Java最小堆解决TopK问题_最小堆 java-CSDN博客 (自己实现Heap) . - 力扣(LeetCode)  (使用java中的PriorityQueue)

反转字符串

循环或者递归两种方式

https://segmentfault.com/a/1190000021422595

求数组中第二大的数

求数组中第二大的数字-CSDN博客

LRU淘汰算法

双向链表+哈希表 哈希表可以降低查找的时间复杂度

算法|LRU淘汰算法

布隆过滤器

由一个二进制数组和一个 Hash 算法组成。值按照提供的 Hash 算法算出对应的 Hash 值,然后将 Hash 值对数组长度取模后得到需要计入数组的索引值,并且将数组这个位置的值从 0 改成 1。在判断一个元素是否存在于这个集合中时,你只需要将这个元素按照相同的算法计算出索引值,如果这个位置的值为 1 就认为这个元素在集合中,否则则认为不在集合中。

https://www.cnblogs.com/CodeBear/p/10911177.html

冒泡插入选择排序

数据结构与算法10-冒泡排序、插入排序、选择排序

快速排序、归并排序

数据结构与算法11-快速排序和归并排序

二分查找

二分查找相关算法

二叉树算法

二叉树相关算法  . - 力扣(LeetCode) 

图的深度和广度优先搜索

31 | 深度和广度优先搜索:如何找出社交网络中的三度好友关系?-数据结构与算法之美-极客时间

DualPivotQuicksort

DualPivotQuickSort 双轴快速排序 源码 笔记 - 简书

回溯算法

一种通过探索所有可能的候选解来找出所有的解的算法。如果候选解被确认不是一个解的话(或者至少不是最后一个解),回溯算法会通过在上一步进行一些变化抛弃该解,即回溯并且再次尝试。

39 | 回溯算法:从电影《蝴蝶效应》中学习回溯算法的核心思想-数据结构与算法之美-极客时间

动态规划

https://labuladong.gitbook.io/algo/dong-tai-gui-hua-xi-lie

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值