算法与数据结构
Leetcode
HumbleSy
濡湿我鬃毛的,岂只是夜晚的露水?
展开
-
二叉查找树
二叉查找树的实现二叉查找树性质任意节点其左子树上任意值比节点值 小 右子树上任意值比节点值 大插入 大于当前节点向右子树 小于向左删除 当删除节点 具有左右子树 找到左子树最大值(最右边)与其交换删除 / 找到右子树最小值(最左边) 交换删除 满足查找树性质删除 当删除节点 **只有一边有子树时 将第一个子节点与其交换 **template<class T>struct TreeNode { T val; TreeNode<T> *left; TreeN原创 2021-03-16 17:22:55 · 96 阅读 · 0 评论 -
堆的实现
堆的实现性质: 堆以完全二叉树形式存在 父节点总比子节点大(最大堆)堆数组中 二叉堆中 子节点父节点为 i/2;节点Index为 i 左子节点为ix2右节点为ix2+1包含操作 上浮 下沉 插入删除上浮 大于子节点则交换 下沉 左右子节点中取最大者 与父节点比较class MaxHeap{private: vector<int> heap; int length;public: MaxHeap() {}; MaxHeap(int size); void in原创 2021-03-16 17:13:27 · 78 阅读 · 0 评论 -
c++中memset函数初步探究
c++中memset函数初步探究使用memset初始化出错 故探究总结一下函数原型memset函数是计算机中C/C++语言函数。将s所指向的某一块内存中的前n个字节的内容全部设置为c指定的ASCII值,第一个值为指定的内存地址,块的大小由第三个参数指定,这个函数通常为新申请的内存做初始化工作 其返回值为指向buffer的指针所在头文件<memory.h>或<string.h>。memset()函数原型是extern void *memset(void *buffer,原创 2021-03-03 20:10:07 · 224 阅读 · 1 评论 -
Leetcode 155最小栈
c155-最小栈设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。push(x) —— 将元素 x 推入栈中。pop() —— 删除栈顶的元素。top() —— 获取栈顶元素。getMin() —— 检索栈中的最小元素。辅助栈:class MinStack {public: /** initialize your data structure here. */ stack<int> pool1; stack<int> po原创 2021-03-03 20:09:16 · 73 阅读 · 1 评论