深圳做网站的好公司百度搜索网站排名

张小明 2026/1/2 15:48:31
深圳做网站的好公司,百度搜索网站排名,外贸网站建设 三方登录,中山seo关键词树是一个对于我这种小白来说是接触的第一个较复杂的数据结构#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进行投诉反馈,一经查实,立即删除!

株洲网站制作与设计百度网站如何建设

Transformer 模型详解 vLLM 实战:理论与实践结合 在今天的 AI 应用浪潮中,大语言模型(LLMs)早已不再是实验室里的“黑科技”,而是真正走进了企业生产环境的核心引擎。从智能客服的自动应答,到代码补全工具…

张小明 2026/1/2 6:52:12 网站建设

seo引擎搜索网站关键词苏州seo全网营销

一、 重新认识门市门店进销存很多店主认为门市门店进销存就是简单的记账,其实不然。它是门店运营的核心大脑,涵盖了从商品进入仓库到最终交付给消费者的全生命周期管理。核心维度管理要点数字化价值进(采购)供应商筛选、入库质检优…

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

成都网站建设联系电话wordpress 4.9.4 下载

BIOMOD2是一个R软件包,用于构建和评估物种分布模型(SDMs)。它集成了多种统计和机器学习方法,如GLM、GAM、SVM等,允许用户预测和分析物种在不同环境条件下的地理分布。通过这种方式,BIOMOD帮助研究者评估气候…

张小明 2025/12/31 16:51:51 网站建设

湛江网站建设服务建设工程合同属于

一、系统程序文件列表 二、开题报告内容 基于Spring Boot的流浪动物救助系统开题报告 一、研究背景与意义 研究背景 随着城市化进程加速,流浪动物数量呈快速增长趋势。据不完全统计,我国城镇流浪动物数量已超过5000万只,且每年以15%-20%的…

张小明 2025/12/31 16:28:23 网站建设

浙江网站建设推广公司哪家好江西省公共资源交易网

高分辨率视频生成难题破解:Wan2.2-T2V-A14B实测报告 在短视频日均播放量突破百亿次的今天,内容生产的速度与质量正面临前所未有的挑战。传统影视制作流程动辄数周、成本高昂,而市场对“即想即得”的创意表达需求却愈发迫切。正是在这种背景下…

张小明 2025/12/31 20:55:19 网站建设

大型网站建设兴田德润简介邹平县城乡建设局网站

在Docker容器中运行Windows系统的完整指南 【免费下载链接】windows Windows inside a Docker container. 项目地址: https://gitcode.com/GitHub_Trending/wi/windows 想要在Linux环境中轻松体验完整的Windows操作系统吗?Dockur/Windows项目为你提供了完美的…

张小明 2025/12/31 11:17:27 网站建设