当前位置: 首页 > wzjs >正文

重庆做网站开发的公司有哪些哪家公司做推广优化好

重庆做网站开发的公司有哪些,哪家公司做推广优化好,邢台手机网站建设地方,制作网页版权怎么修改树在算法题中非常常见,今天就用一篇文章来入门树的相关知识 目录 树的存储 存储原理 代码模版 树的遍历 1树的深度优先遍历(dfs递归实现) 代码模版 2树的广度优先遍历(bfs队列实现) 代码模版 关联知识-拓扑…

树在算法题中非常常见,今天就用一篇文章来入门树的相关知识

目录

树的存储

存储原理

代码模版

树的遍历

1树的深度优先遍历(dfs递归实现)

代码模版 

2树的广度优先遍历(bfs队列实现)

代码模版

关联知识-拓扑排序

拓扑排序是什么

拓扑排序怎么写


树的存储

存储原理

可以用邻接矩阵或邻接表,邻接矩阵就是二维数组,邻接表是以链表方式进行存储

代码模版

一个头结点:
所需变量:int h,ne[N],e[N],idx;
解释:h存的是头结点地址,ne[N]存的是每一个节点的下一个节点的地址,(就是数据结构结构体里面的s->next)
e[N]存的是该地址下的值,idx相当于是指针;
具体操作(头插法):
void cs(int a,int b)
{e[idx]=b,ne[idx]=h[a],h[a]=idx++;
}
遍历模版
for(int i=h[u];i!=-1;i=ne[i]){int j=e[i];....}

树的遍历

1树的深度优先遍历(dfs递归实现)
https://www.acwing.com/problem/content/848/

#include<bits/stdc++.h>
using namespace std;
const int N=1e5+10;
int h[N],e[N*2],ne[N*2];
int ans=N,idx,n;
bool st[N];
void cs(int a,int b)
{e[idx]=b,ne[idx]=h[a],h[a]=idx++;
}
int dfs(int u)
{st[u]=1;int sum=1,res=0;for(int i=h[u];i!=-1;i=ne[i]){int j=e[i];if(st[j])continue;int s=dfs(j);res=max(s,res);sum+=s;}res=max(res,n-sum);ans=min(ans,res);return sum;
}
int main()
{cin >> n;memset(h,-1,sizeof h);for(int i=0;i<n-1;i++){int a,b;cin >> a >> b;cs(a,b),cs(b,a);}dfs(1);cout << ans;
}

2树的广度优先遍历(bfs队列实现)

​​​​https://www.acwing.com/problem/content/849/

#include<bits/stdc++.h>
using namespace std;
const int N=1e5+10;
int n,m;
int h[N],e[N],ne[N],idx;
int d[N];
void cr(int a,int b)
{e[idx]=b,ne[idx]=h[a],h[a]=idx++;
}
int bfs()
{memset(d,-1,sizeof d);d[1]=0;queue<int>q;q.push(1);while(!q.empty()){int t=q.front();q.pop();for(int i=h[t];i!=-1;i=ne[i]){int j=e[i];if(d[j]==-1){d[j]=d[t]+1;q.push(j);}}}return d[n];
}
int main()
{cin >> n >> m;memset(h,-1,sizeof h);for(int i=0;i<m;i++){int a,b;cin >> a >> b;cr(a,b);}cout << bfs()<<endl;
}

关联知识-拓扑排序

拓扑排序是什么

简而言之就是,把数的节点变成一个序列,序列当中每个点都满足:在树中该点指向的点在序列的位置位于该点之后,在树中指向该点的点在序列的位置位于该点之前。

拓扑排序怎么写

#include<bits/stdc++.h>
using namespace std;
const int N=1e5+10;
int n,m;
int h[N],ne[N],e[N],idx;
int d[N],ans[N],cnt;
queue<int>q;
void cr(int a,int b)
{e[idx]=b,ne[idx]=h[a],h[a]=idx++;
}
bool bfspd()
{for(int i=1;i<=n;i++){if(d[i]==0){q.push(i);//把每一个入度为0的点入队}}while(!q.empty()){int t=q.front();q.pop();ans[cnt++]=t;//存储队头的值,队头的值就是入度为零的点for(int i=h[t];i!=-1;i=ne[i]){int j=e[i];d[j]--;//断链,入度-1if(d[j]==0){q.push(j);}}}return cnt==n;
}
int main()
{cin >> n >> m;memset(h, -1, sizeof h);for(int i=0;i<m;i++){int a,b ;cin >> a >> b;cr(a,b);d[b]++;//记录每一个点的入度数量}if(bfspd())for(int i=0;i<n;i++){cout << ans[i]<<' ';}else cout << "-1";
}

http://www.dtcms.com/wzjs/123342.html

相关文章:

  • 公司做网站有什么用代写稿子的平台
  • 梅州建设公司网站济南最新消息今天
  • 提供定制型网站建设微信营销推广方案
  • 诸城做网站公司网页制作软件哪个好
  • 优秀的电子商务网站seo包年优化
  • 阿里云除了做网站还能用来干什么外贸平台
  • 网站背景图片优化好的seo网站
  • 上海地产网站建设今日冯站长之家
  • 网站建设 知识库中国重大新闻
  • 名气特别高的手表网站平台怎样推广
  • 越南做购物网站百度指数怎么查
  • 网站不绑定域名解析汽车营销策划方案ppt
  • 网站搜索下拉是怎么做的免费网站安全软件大全游戏
  • 网页小游戏网站有哪些百度推广客户端下载安装
  • 网页制作与网站建设填空题百度大数据官网
  • 重庆信息门户网站武汉seo服务外包
  • 流浪猫狗救助网站开发设计外贸接单平台网站
  • 图片搜集网站怎么做网络热词2022
  • 网站建设联系电话域名服务器ip查询网站
  • 知道源码做网站网络平台营销
  • 泊头哪有哪家做网站做的号百度手机助手应用商店
  • 在网站上保存网址怎么做百度排名竞价
  • 做外贸的免费网站网络营销推广策划方案
  • 福永自适应网站建设潍坊百度关键词优化
  • 佛山网站制作西安关键词seo
  • 福建石狮有做网站的没网站性能优化
  • 泸州网站制作网站推广优化的方法
  • 老铁推荐个2021网站好吗西安网站外包
  • 推广比较好的网站有哪些百度网讯科技客服人工电话
  • 农林牧渔行业网站建设制作网站的基本流程