官渡网站建设淘客怎么做推广网站

张小明 2026/1/10 10:27:15
官渡网站建设,淘客怎么做推广网站,建设银行网站修改手机号,做地产设计的公司树是一个对于我这种小白来说是接触的第一个较复杂的数据结构#xff0c;不像之前的线性结构#xff0c;树让人感觉是从一个线到面的进阶。树的定义是由一个根节点和许多子节点组成#xff0c;再由子节点成为新的根节点有点像递归的过程#xff0c;因此树的许多操作都要有递…树是一个对于我这种小白来说是接触的第一个较复杂的数据结构不像之前的线性结构树让人感觉是从一个线到面的进阶。树的定义是由一个根节点和许多子节点组成再由子节点成为新的根节点有点像递归的过程因此树的许多操作都要有递归的参与。树的基本术语节点的度树中的节点的子节点的个数称为度。树的度树中节点最大的度。树的高度树的层数或者深度。路径两个子结点之间的距离。树又分为有根树和无根树无序树指的是树的根是变化的根节点可以是子节点子节点可以是根节点。有根树的根节点是固定的。树又分为有序树和无序树有序树中树的子节点不可变化无序树反之。树的储存是一个相较于线性结构完全不同的由于一对多的特性使得他的存储变得困难。当我们在处理无根树时由于根的不确定性所以应在每个节点相互存储两次。对此我们有两种存储方式vector数组和链式前向星。vector数组是将以根节点为数组名的数组中存储他的子节点。#include iostream #include vector using namespace std; const int N 1e5 10; int n;//节点的个数 vectorintedges[N]; int main() { cin n; for(int i 1; i n; i) { int u, v; cin u v; edges[u].push_back(v); edges[v].push_back(u);//由于没有固定的根节点需要相互储存 } return 0; }链式前向向星指的是用链表进行存储。#include iostream using namespace std; const int N 1e5 10; int h[N], e[2 * N], ne[2 * N]; int n, id; void add(int a, int b) { id; e[id] b; ne[id] h[a]; h[a] id; } int main() { cin n; for(int i; i n; i) { int a, b; cin a b; add(a,b); add(b,a);//要将两种根的情况存储 } return 0; }树的遍历如果按照之前的方法随便遍历的话很容易漏掉数据。因此树有它特有的两种遍历方式深度优先遍历DFS和宽度优先遍历BFS。深度优先遍历是由根节点为起点一直往子节点的子节点不断遍历直到找到叶子节点没有子节点时原路返回至其他子节点再进行遍历直到将所有数据遍历完结束。#include iostream #include vector using namespace std; const int N 1e6 10; vectorintedges[N]; int n; bool st[N];//由于根节点不知要将历遍过的节点标记防止死循环 void dfs(int u)//以它为根节点的往后的子节点 { cout u ; st[u] true; for(auto v : edges[u]) { if(!st[v]) { dfs(v); } } } int main() { int n; cin n; for(int i 1; i n; i) { int u, v; cin u v; edges[u].push_back(v); edges[v].push_back(u); } dfs(1);//以1为根结点的树 }上述使用的是vector数组储存的树的深度优先遍历接下来使用链式前向星再来模拟一次。要点由于根节点的未知要使用额外的bool 数组来标记已历遍过的数据。#include iostream using namespace std; const int N 1e6 10; int h[N], e[N * 2], ne[N * 2]; int id, n; bool st[N]; void add(int a,int b) { id; e[id] b; ne[id] h[a]; h[a] id; } int dfs(int u) { cout u ; st[u] true; for(int i h[a]; i ne[id]) { int v e[i]; if(!st[v]) { dfs(v); } } } int main() { cin n; for(int i 1; i n; i) { int a, b; cin a b; add(a,b); add(b,a); } dfs(1); }现在介绍宽度优先遍历也叫广度优先遍历指的是将同一层的节点遍历完后再遍历下一层。所以根据队列的特性我们可以应用queue来完成这个遍历。我们还是先用vector数组的存储方法来模拟不要忘了将已遍历过了的点标记 与之前相同#include iostream #include vector #include queue using namespace std; const int N 1e6 10; vectorintedges[N]; int n; bool st[N]; void bfs() { queueintq; q.push(1); while (q.size()) { int u q.front(); q.pop(); cout u ; for (auto v : edges[u]) { if (!st[v]) { q.push(v); st[v] true; } } } } int main() { cin n; for (int i 1; i n; i) { int u, v; edges[u].push_back(v); edges[v].push_back(u); } bfs(); }再来使用链式前向星来储存时的bfs#include iostream #include queue using namespace std; const int N 1e6 10; int h[N], e[N * 2], ne[N * 2]; int n, id; bool st[N]; void add(int a, int b) { id; e[id] b; ne[id] h[a]; h[a] id; } void bfs() { queueintq; q.push(1); while (q.size()) { int u q.front(); q.pop(); cout u ; for (int i h[u]; i; i ne[i]) { int v e[i]; if (!st[v]) { q.push(v); st[v] true; } } } } int main() { cin n; for (int i 1; i n; i) { int a, b; cin a b; add(a, b); add(b, a); } bfs(); }#include iostream #include queue using namespace std; const int N 1e6 10; int h[N], e[N * 2], ne[N * 2]; int n, id; bool st[N]; void add(int a, int b) { id; e[id] b; ne[id] h[a]; h[a] id; } void bfs() { queueintq; q.push(1); while (q.size()) { int u q.front(); q.pop(); cout u ; for (int i h[u]; i; i ne[i]) { int v e[i]; if (!st[v]) { q.push(v); st[v] true; } } } } int main() { cin n; for (int i 1; i n; i) { int a, b; cin a b; add(a, b); add(b, a); } bfs(); }树的种类还有许多可分为N叉树我认为树的进阶和之后的节点的捆绑就是类似图的数据结构吧当然纯属个人想法等到学到该内容再与大家讨论。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

阿里巴巴的网站流程wordpress title背景

【包装设计】厂家怎么选?3个关键点避坑指南在品牌竞争日益激烈的消费市场中,包装早已超越“容器”功能,成为影响用户第一印象、传递品牌价值甚至驱动购买决策的关键触点。有研究指出,超过60%的消费者会因包装质感或视觉吸引力而改…

张小明 2026/1/10 6:16:40 网站建设

工具网站有哪些邢台专业做网站

最近在做统计的需求&#xff0c;一个台账有多个模块的数据&#xff0c;表头需要根据颜色区分 效果上代码表格添加 :header-cell-style<el-table :header-cell-style"headerCellStyle">编写实现 headerCellStyleconst DDEBF7 [这里是表头1 的属性&#xff08;p…

张小明 2026/1/10 6:16:41 网站建设

泰国男女做那个视频网站长荣建设深圳公司网站

第一章&#xff1a;AI赋能渗透测试的演进与Open-AutoGLM的崛起人工智能正以前所未有的速度重塑网络安全领域&#xff0c;尤其在渗透测试这一高度依赖经验与逻辑推理的环节中&#xff0c;AI的引入显著提升了自动化程度与检测精度。传统渗透测试依赖安全专家手动执行扫描、分析漏…

张小明 2026/1/10 6:16:45 网站建设

广州制作外贸网站公司宣传手册内容模板

OpenModScan&#xff1a;零基础也能上手的工业通讯利器 【免费下载链接】OpenModScan Open ModScan is a Free Modbus Master (Client) Utility 项目地址: https://gitcode.com/gh_mirrors/op/OpenModScan 在工业自动化领域&#xff0c;Modbus主站工具是工程师和开发者必…

张小明 2026/1/10 6:16:45 网站建设

长沙教育网站开发百度收录提交接口

大语言模型训练监控实战&#xff1a;从新手到专家的完整成长路径 【免费下载链接】DeepSeek-LLM DeepSeek LLM: Let there be answers 项目地址: https://gitcode.com/GitHub_Trending/de/DeepSeek-LLM 当你开始训练一个大语言模型时&#xff0c;是否曾感到困惑&#xf…

张小明 2026/1/10 6:16:47 网站建设