
数据结构
顾文繁
功不捐唐终入海
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
第八届 蓝桥杯个人赛C/C++ 第一题迷宫 dfs非递归与递归实现
非递归实现在我的另一个博客https://www.cnblogs.com/outxiao/p/13812184.html这里写递归是实现原创 2021-04-14 09:53:12 · 247 阅读 · 0 评论 -
第十一届蓝桥杯研究生组E题C++
用二进制和并差集解决:并查集通用代码int father[N];int visited[N];int find(int n) { if(father[n]==n) return n; father[n]=find(father[n]); return father[n];}void merge(int x,int y){ int x_father = find(x); int y_father = find(y); ...原创 2021-04-06 16:10:19 · 169 阅读 · 0 评论 -
最小堆
最小堆定义每个节点的值都小于或者等于其子节点的值的完全二叉树。数的基本操作是插入节点和删除节点。插入操作对最小堆而言,它们都很简单。为了将一个元素X插入最小堆,我们可以在树的下一个空闲位置创建一个空穴。如果X的可以放入空穴中而不破坏堆序,则插入完成。否则就执行上虑操作,即交换空穴和它的父节点上的元素。不断执行上述过程,直到X可以呗放入空穴,则插入操作完成。删除操作最小堆的删除操作指的是删除其根节点上元素,并且不破坏堆序性质。执行删除操作时,我们需要现在根节点处创建一个.原创 2021-03-21 10:08:03 · 430 阅读 · 0 评论 -
二叉树前序中序后续遍历非递归实现
归纳一下二叉树的前序中序后续遍历非递归实现 vector<int> preOreder(TreeNode* root){ stack<TreeNode*>s; vector<int>ret; s.push(root); while(s.size()){ root = s.top();s.pop(); ret.push_back(root->.原创 2021-01-24 21:39:11 · 113 阅读 · 0 评论