logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

二叉树---翻转二叉树

本文介绍了翻转二叉树的递归解法。核心思路是交换每个节点的左右子树,递归处理步骤如下:1)终止条件为节点为空;2)交换当前节点的左右孩子;3)递归处理左右子树。C++代码简洁明了,时间复杂度O(n),空间复杂度O(h)。文章还对比了递归和迭代(BFS)两种实现方式,强调掌握递归三要素(功能定义、终止条件、递推公式)是解决二叉树问题的关键。该解法直观展示了分治思想在树结构中的应用,是面试常见题型。

文章图片
#c++#链表#开发语言 +4
链表--LRU缓存

本文详细解析了LRU缓存的设计与实现,通过双向链表维护数据使用时序,哈希表实现快速查找,确保get和put操作均为O(1)时间复杂度。重点阐述了数据结构选型依据、C++代码实现(可直接用于面试)、核心API逻辑及关键细节,包括splice函数的妙用、迭代器失效预防等常见易错点。文章不仅提供了完整的解决方案,还深入分析了LRU缓存的底层原理和面试考点,帮助开发者全面掌握这一高频面试题。

文章图片
#链表#缓存#elasticsearch +3
链表---反转链表

双指针法是面试中更推荐的解法,因为它空间复杂度更低,且避免了递归的栈溢出问题。递归法代码简洁,适合理解链表的分治思想。

文章图片
#链表#数据结构#elasticsearch +4
双指针巧解LeetCode接雨水难题

本文解析LeetCode42题「接雨水」的双指针解法。该问题要求计算柱子间能接住的雨水量,关键在于每个位置的接水量由左右两侧最高柱子的较小值决定。双指针法通过左右指针向中间移动(左指针初始0,右指针初始末尾),比较两侧最高高度:若左侧最高高度较小,则计算左指针位置接水量并右移;反之计算右指针位置接水量并左移。该方法仅需O(1)额外空间,时间复杂度O(n),相比动态规划更高效。代码实现简洁,通过维护

文章图片
#c++#java#开发语言 +4
C++ 14 红黑树:高效平衡的奥秘

红黑树是一种自平衡二叉搜索树,通过节点颜色(红/黑)和四条规则确保近似平衡:1)节点非红即黑;2)根节点为黑;3)红色节点的子节点必须为黑;4)任意路径黑节点数相同。其最长路径不超过最短路径的2倍,保证操作时间复杂度为O(logN)。相比AVL树,红黑树通过更宽松的平衡条件减少了旋转次数,实际应用中性能更优。实现时需处理插入后的颜色调整(变色/旋转)以维持平衡性,主要包括处理叔叔节点为红(变色)或

文章图片
#算法#c++#数据结构 +4
C++ 8:list容器详解与实战指南

C++ STL中的list是一个基于双向链表的容器,支持高效的插入和删除操作。其底层结构由节点(Node)构成,包含头节点(head)和元素个数(size)等成员。list提供多种构造方式,包括指定元素个数、区间构造和拷贝构造。主要操作包括:begin/end获取迭代器、push_front/back插入元素、pop_front/back删除元素、insert/erase在指定位置操作等。与vec

文章图片
#c++#list#数据库 +3
C++ 15 STL容器详解:map/set与红黑树

本文介绍了STL中的关联式容器map和set,它们底层采用红黑树实现,具有高效的增删查操作(O(logN))。set是纯key搜索结构,map是key/value结构,两者都支持排序且默认升序。文章详细讲解了set和map的构造、迭代器、增删查操作,重点分析了map通过operator[]实现插入和修改的机制,以及利用仿函数实现容器定制的原理。同时对比了set/multiset和map/multi

文章图片
#c++#开发语言#数据结构 +3
LeetCode热题11:盛水容器双指针妙解

本文解析了LeetCode第11题"盛最多水的容器"的双指针解法。题目要求选择两条垂直线与x轴组成容器,计算最大储水量(由短板高度和水平距离决定)。通过初始化左右指针,每次计算当前容量后移动较短板的指针,可以在O(n)时间内找到最优解。这种贪心策略确保不会错过可能的更大容量,比暴力枚举更高效。文章提供了C++和Python的代码实现,并解释了"移动短板"策略

文章图片
#算法#leetcode#职场和发展 +4
双指针2--盛水最多的容器

本文解析了LeetCode第11题"盛最多水的容器"的两种解法。题目要求在给定高度数组中找到两条线,使其与x轴构成的容器面积最大。暴力解法通过双重循环枚举所有组合,时间复杂度O(n²)。更优的双指针解法从数组两端向中间移动,每次移动较短板的指针,时间复杂度优化至O(n)。文章详细阐述了双指针的贪心策略原理,并提供了C++代码实现,通过示例验证了算法的正确性,最终得出双指针法是解

文章图片
#elasticsearch#大数据#搜索引擎 +4
Linux 2 指令(2)进阶:内置与外置命令解析

Linux指令本质上是系统预编译的可执行程序,分为内置指令(如cd、pwd)和外置指令(如ls、cp)。内置指令是Shell内部函数,执行效率高;外置指令是独立可执行文件。Linux遵循"一切皆文件"理念,重定向操作(>、>>、<)可控制数据流。常用指令包括:which(定位命令路径)、alias(设置别名)、man(查看手册)、echo(输出内容)、c

文章图片
#linux#运维#服务器 +4
    共 69 条
  • 1
  • 2
  • 3
  • 7
  • 请选择