首页
学习
活动
专区
工具
TVP
发布

C/C++、数据结构、算法

专栏作者
75
文章
6772
阅读量
11
订阅数
DS进阶:AVL树和红黑树
     二叉搜索树(BST)虽可以缩短查找的效率,但如果数据有序或接近有序二叉搜索树将退化为单支树,查找元素相当于在顺序表中搜索元素,效率低下。因此,两位俄罗斯的数学家G.M.Adelson-Velskii和E.M.Landis在1962年发明了一种解决上述问题的方法:当向二叉搜索树中插入新结点后,如果能保证每个结点的左右子树高度之差的绝对值不超过1(需要对树中的结点进行调整),即可降低树的高度,从而减少平均搜索长度。
小陈在拼命
2024-04-25
600
算法思想总结:栈
我们平时看到的 1+2*(3-4*5)+6/7 叫做中缀表达式,平时我们习惯用这个计算的原因是我们可以整体地去看到这个表达式并且清楚地知道各个运算符的优先级,但是计算机并不一定知道,因为他总是从前往后去遍历这个表达式。如上面这个例子,当按照计算机的逻辑去扫描了1+2的时候,并不敢直接去进行运算,因为可能后面存在一个优先级更高的操作符会优先进行计算。甚至有些时候还会出现括号这一种可以改变操作符优先级的符号!!所以这个时候,为了能够解决这个问题,就有了波兰表达式(前缀表达式)和逆波兰表达式(后缀表达式)。
小陈在拼命
2024-04-23
620
C++:map和set的使用
在学习map和set之前,我们接触到的容器有:vector、list、stack、queue、priority_queue、array,这些容器统称为序列式容器,因为其底层为线性序列的数据结构,里面存储的是元素本身。
小陈在拼命
2024-04-20
820
算法思想总结:链表
小陈在拼命
2024-04-20
780
二叉树经典OJ题(2)
技巧:在递归过程中,我们想要有一个变量记录全过程(该题中的prev),第一种方法就是设置成全局变量,第二种方法就是传引用。
小陈在拼命
2024-04-20
420
算法思想总结:分治思想
1,快速排序本身相当于一个前序遍历,最好的时间复杂度是NlogN 最差的时间复杂度是N^2 ,最坏的情况是出现在(1)以最左侧或最右侧为基准值的时候,凑巧又接近有序(2)大量重复元素。为了解决这个问题衍生出了优化思路:三组划分+随机取key。并且这种方式还可以解决top-k问题,并且时间复杂度是o(N)比堆排序还优秀,我们称之为快速选择算法。
小陈在拼命
2024-04-14
1060
DP:子数组模型
小陈在拼命
2024-04-12
780
DFS:记忆化搜索
小陈在拼命
2024-04-10
680
DFS:floodfill算法解决矩阵联通块问题
小陈在拼命
2024-04-10
490
DFS:深搜+回溯+剪枝解决矩阵搜索问题
3、dfs的返回值不一定是void,如果该题目并不只是完全地去统计,而是涉及到我们做出的选择可能会错误的时候,这个时候我们就需要通过bool类型的返回值来帮助我们判断当前的填法是否正确。比如解数独和单词搜索问题
小陈在拼命
2024-04-10
750
DFS:深搜+回溯+剪枝解决组合问题
小陈在拼命
2024-04-09
830
DFS:深搜+回溯+剪枝解决排列、子集问题
排列和子集问题就总结到这啦!!回溯有关的题关键就是画树状图,然后根据树状图去思考怎么进行深搜、回溯和剪枝!!
小陈在拼命
2024-04-04
940
DFS:二叉树的深搜与回溯
小陈在拼命
2024-04-02
810
DFS:从递归去理解深度优先搜索
小陈在拼命
2024-03-30
750
DP:简单多状态模型
思路:我们要找到最大的数和最小的数,并且保证最小的数是在最大数的左边 ,所以不能直接用找大和找小的思路,用maxi更新最大利润,用mini记录最小的股票。
小陈在拼命
2024-03-30
750
算法思想总结:位运算
利用第七条特性:n&(n-1)干掉最后一个1,然后每次都用count++去统计,直到变成0
小陈在拼命
2024-03-25
620
DP:路径规划模型
路径规划主要是让目标对象在规定范围内的区域内找到一条从起点到终点的无碰撞安全路径。大多需要用二维dp数组去实现
小陈在拼命
2024-03-24
830
DP:斐波那契数列模型
我们会发现dp[1]的初始化和填表里面的过程非常相似,所以我们可以用一个动态规划的小技巧——虚拟节点(专门用来处理边界问题)
小陈在拼命
2024-03-23
500
算法思想总结:模拟算法
写法1: 两个哈希表 一个存储字符和下标的映射关系,另一个用数组模拟哈希表存字符出现的次数。
小陈在拼命
2024-03-23
900
算法思想总结:前缀和算法
小陈在拼命
2024-03-23
630
点击加载更多
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档