![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
文章平均质量分 62
通过整理核心的数据结构与算法的相关知识,以对应算法竞赛和求职考研等
TheJustice_
这个作者很懒,什么都没留下…
展开
-
2024.7.15 刷题总结
对于一个节点,只要左节点往下走或者右节点往下走有一条路是成功的,那么就返回true,所以递归的思路就明确了,还需要再写出结束条件,如果节点为空,那么就返回false,如果节点左右节点均为空,则需要判断当前节点值和剩下的目标值是否相等,递归的时候我们就是用当前root的左右节点两种情况来判断,而且目标值每次需要减去当前节点的值,这个是关键。可以考虑迭代的思想,用一个队列来存储需要判断的节点,刚开始存储的是根节点的左右节点,每次从队列中取出两个节点,然后先判断特殊情况,空指针和值不相等的问题。原创 2024-07-15 12:12:31 · 131 阅读 · 0 评论 -
递归算法详解及其应用
递归是指在函数的定义中调用函数自身。基准情况:不再调用自身的情况,直接返回结果。递归情况:将问题分解为更小的子问题,并调用自身来解决这些子问题。原创 2024-07-14 13:58:03 · 611 阅读 · 0 评论 -
C++ STL 中哈希表的详细用法
C++ STL 中的和提供了强大的哈希表功能,能够高效地进行插入、删除和查找操作。理解其用法和注意事项,能够帮助我们在实际开发中更好地利用这些容器。原创 2024-07-01 21:21:55 · 755 阅读 · 0 评论 -
深入理解链地址法(Separate Chaining)在哈希表中的应用
链地址法是一种处理哈希冲突的方法,其核心思想是在哈希表的每个桶(bucket)中维护一个链表(linked list)。当多个键被哈希函数映射到同一个桶时,这些键值对会被存储在该桶对应的链表中。这样,哈希表中的每个桶不仅仅存储一个元素,而是存储一个链表,可以容纳多个发生冲突的键值对。链地址法是一种简单且有效的哈希冲突解决方案,特别适用于负载因子较低的情况。通过为每个桶维护一个链表,链地址法能够灵活地处理哈希冲突。然而,在负载因子较高时,链表长度增加,操作性能可能退化。原创 2024-06-30 15:01:08 · 412 阅读 · 0 评论 -
状态压缩动态规划(State Compression DP)算法详解
状态压缩DP的核心思想是利用位运算来表示和操作状态。可以用一个整数的二进制位来表示一个状态集合中的元素是否存在。例如,对于一个有 n 个元素的集合,可以用一个 n 位的二进制数表示其子集,其中第 i 位为1表示该子集包含第 i 个元素,为0则表示不包含。状态压缩DP是一种高效解决某些组合优化问题的技术,通过使用位运算来表示和操作状态,大大减少了状态空间的大小和复杂度。在理解和应用状态压缩DP时,关键在于正确表示和转移状态。希望通过本文的讲解和例题分析,能帮助读者更好地理解和应用这一算法。原创 2024-06-26 15:24:07 · 1639 阅读 · 0 评论 -
二分查找算法模板
在算法题中,二分查找是一个很基础的能力,但是很多情况下都有可能因为一些小条件导致整题的错误,所以我们需要学习并记忆正确的写法,本篇列出了三种情况下的写法。原创 2024-06-19 11:50:06 · 385 阅读 · 0 评论