数据结构与算法
文章平均质量分 61
数据结构与算法
Luqwera
这个作者很懒,什么都没留下…
展开
-
二叉树前序、中序、后序以及层序遍历方法
文章目录一、递归1.1 前序遍历1.2 中序遍历1.3 后序遍历二、迭代2.1 前序遍历2.2 中序遍历2.3 后序遍历一、递归1.1 前序遍历void preprder(TreeNode* root, vector<int> &ans) { if(root == nullptr) return; ans.push_back(root -> val); pre(root -> left, ans); pre(root -> right, ans);}原创 2022-03-09 17:16:46 · 1195 阅读 · 0 评论 -
DFS、BFS遍历图、树
DFS简述DFS即深度优先搜索,是一种枚举所有完整路径以遍历所有情况的搜索方法。以“深度”为前进的关键词,不碰到死胡同就不回头。使用递归可以很好地实现深度优先搜索,递归中的递归式就是岔道口,递归边界就是死胡同。模板DFS(depth,..){ if(找到解||死胡同){//递归边界 ... return; } ... DFS(depth+1,...);//枚举下一种情况}使用DFS遍历树对于树而言,DFS的“死胡同”就等价于树原创 2021-02-17 14:49:25 · 439 阅读 · 0 评论 -
二叉树层序、前序、中序、后序遍历间的转换
前言二叉树的遍历是指通过一定顺序访问二叉树的所有结点。遍历方法一般有四种:先序遍历、中序遍历、后序遍历及层序遍历。其中已知先序(或后序)与中序可以求出后序(或先序)遍历。但是,若只知道先序与后序则就不出中序遍历。案例已知如下一棵二叉树:先序遍历:4 1 3 2 6 5 7中序遍历:1 2 3 4 5 6 7后序遍历:2 3 1 5 7 6 4层序遍历:4 1 6 3 5 7 2思路先序遍历数组中第一个元素为根结点。后序遍历数组最后一个元素则为根结点。中序遍历数组中,找到根结点,则原创 2021-02-17 14:17:47 · 2773 阅读 · 0 评论 -
并查集
简介并查集是一种维护集合的数据结构,用于处理一些不相交集合(Disjoint Sets)的合并及查询问题。并查集中的查询指的是判断两个元素是否在一个集合。对同一个集合来说只存在一个根节点,且将其作为所属集合的标识。并查集实现并查集的实现就是一个数组int father[N];father[i]表示元素i的直属父节点,对于根节点而言,father[i]=i。并查集的基本操作初始化int father[N];void init(int n){ for(int i=;i<n;i原创 2021-02-17 14:50:59 · 110 阅读 · 0 评论