
算法小结
文章平均质量分 77
归归类
好像也没什么大不了
热爱生活,热爱你
展开
-
【20230630】数组小结
【代码】数组小结。原创 2023-06-30 16:35:34 · 549 阅读 · 0 评论 -
贪心算法小结
相当于寻找极值点的过程,predif和curdif分别记录前一点和当前点与前一元素的差值,两者异号的话,result++DP:dp[j]表示到下标j为止,连续子数组的最大和;有两种情况来:1.加在上一个上面 2.从这个数开始另起山头。,先判断下标,防止出现下标越界的情况;贪心:当连续和出现负数的时候立马放弃。2.优先将大饼干先给胃口大的吃。删除单调坡度上的节点。原创 2023-04-23 19:40:23 · 1904 阅读 · 0 评论 -
【20230306】动态规划小结
如果某一个问题有很多重叠子问题,使用dp是最有效的。动态规划中每个状态一定由上一个状态推导而来。动规五部曲:确定dp数组以及下标的含义;确定递推公式;dp数组的初始化;确定遍历顺序;举例验证dp数组。原创 2023-03-14 11:36:38 · 205 阅读 · 0 评论 -
【20230227-0306】回溯算法小结
回溯法又叫回溯搜索法,是搜索的一种方式。回溯法本质是穷举所有可能。如果想让回溯法高效一些,可以加一些剪枝操作。回溯算法解决的经典问题:组合问题切割问题子集问题排列问题棋盘问题。原创 2023-03-03 19:51:12 · 707 阅读 · 0 评论 -
【20230210-0226】二叉树小结
二叉树的种类二叉树的主要形式:满二叉树和完全二叉树。满二叉树深度为k,有2^k-1个节点的二叉树完全二叉树除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。二叉搜索树二叉搜索树是一个有序树• 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值;• 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值;• 它的左、右子树也分别为二叉排序树平衡二叉搜索树(AVL树)它是一棵空树或它的左右两个子树的高度差的绝对值不超原创 2023-02-22 17:15:52 · 515 阅读 · 0 评论 -
【20230206-0209】哈希表小结
map和set的iterator指向的是节点的指针,vector指向的是内存的某个位置。当要用集合来解决哈希问题时,优先使用unordered_set,因为它的查询和增删效率是最优的,如果需要集合有序,就用set,要有重复数据,就用multiset。(与三数之和类似,在一级剪枝时,判断条件要注意,nums[i]>0且target>0,对各个元素进行。(输出结果是去重的,无序的,用unordered_set),只是通过它提供的接口对里面的元素进行访问,底层都是采用。set、map都是C++的。原创 2023-02-09 17:24:06 · 450 阅读 · 0 评论 -
【20230205】链表小结
int val;// 节点上存储的元素// 指向下一个节点的指针ListNode(int x) : val(x), next(NULL) {} // 节点的构造函数。原创 2023-02-05 09:06:49 · 495 阅读 · 1 评论 -
【20221230】栈和队列的小结
栈和队列是STL(C++标准库)里面的两种数据结构。栈提供push 和 pop 等等接口,所有元素必须符合先进后出规则,所以栈不提供走访功能,也不提供迭代器(iterator)。 不像是set 或者map 提供迭代器iterator来遍历所有元素。原创 2022-12-30 20:15:26 · 431 阅读 · 0 评论