算法与数据结构
文章平均质量分 54
Kallou
这个作者很懒,什么都没留下…
展开
-
【C++笔记】关于push_back(vector<int>());
今天在刷leetcode题的时候见到如上三句代码,很有意思。第一句创建了一个实体为vertor的容器,可以理解为一个二维数组;第二句话相当于分隔符了,往二维数组里插入空的vector(),可以理解为分行,即二维数组的下一行;第三句话则是在每一行里插入数据。 以二叉树的层序遍历为例:输入:[3,9,20,null,null,15,7]输出:...转载 2022-07-12 12:38:29 · 696 阅读 · 2 评论 -
大顶堆、小顶堆与堆排序
堆的逻辑结构是一颗完全二叉树,而内存中实际的物理结构是一个顺序数组。完全二叉树是一种每一层都是从左往右放值直到把该层放满才会增长至更深层的结构。堆的数组到堆结构的映射关系满足:数组中第i个元素的左孩子为第2*i+1的元素,右孩子为第2*i+2的元素,父节点为第(i-1)/2 (取整数位,0位的父节点是自己)的元素。 大顶堆即对于堆中任何一颗子树来说,该子树的最大值一定是其根节点。小顶堆即对于堆中任何一颗子树来说,该子树的最小值一定是其根节点。该示例是一个可对无序堆进行堆排序变为大顶堆的程序,各函数意义详见注原创 2022-07-01 22:02:15 · 583 阅读 · 0 评论 -
字符串匹配的魔法——KMP算法
KMP算法原创 2022-06-27 17:34:09 · 115 阅读 · 0 评论 -
刷题笔记:剑指offer 04.二维数组中的查找——一个报错
今天在力扣刷这一题的时候报了这个错误:Line 1033: Char 9: runtime error: reference binding to null pointer of type 'std::vector<int, std::allocator<int>>' (stl_vector.h)SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior /usr/bin/../lib/gcc/x86_64-linux-gn原创 2022-04-21 19:29:41 · 1444 阅读 · 0 评论