
算法与数据结构
Leetcode
HumbleSy
濡湿我鬃毛的,岂只是夜晚的露水?
展开
-
二叉查找树
二叉查找树的实现 二叉查找树性质 任意节点其左子树上任意值比节点值 小 右子树上任意值比节点值 大 插入 大于当前节点向右子树 小于向左 删除 当删除节点 具有左右子树 找到左子树最大值(最右边)与其交换删除 / 找到右子树最小值(最左边) 交换删除 满足查找树性质 删除 当删除节点 **只有一边有子树时 将第一个子节点与其交换 ** template<class T> struct TreeNode { T val; TreeNode<T> *left; TreeN原创 2021-03-16 17:22:55 · 109 阅读 · 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 · 102 阅读 · 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 · 298 阅读 · 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 · 94 阅读 · 1 评论