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

网络营销的主要形式有建设网站网站开发好吗

网络营销的主要形式有建设网站,网站开发好吗,app推广是什么意思,正规做兼职的网站文章出处#xff1a;极客时间《数据结构和算法之美》-作者#xff1a;王争。该系列文章是本人的学习笔记。 拓扑排序能解决的问题 在一个项目中会有很多源代码文件。编译器在编译代码的时候需要按照依赖关系#xff0c;依次编译每个源文件。例如A.java依赖B.java#xff…文章出处极客时间《数据结构和算法之美》-作者王争。该系列文章是本人的学习笔记。 拓扑排序能解决的问题 在一个项目中会有很多源代码文件。编译器在编译代码的时候需要按照依赖关系依次编译每个源文件。例如A.java依赖B.java那就需要先编译B.java再编译A.java。要想完整编译整个项目就需要确定一个全局的编译顺序。确定这样一个全局的编译顺序就用到拓扑排序。 拓扑排序就是解决有向无环图的图中所有顶点的满足依赖条件的顶点顺序。 解决思路 可以将每个源文件看做一个顶点源文件和源文件之间的依赖关系看做一条边。图的基本结构如下。 public class Graph {private int v; // 顶点的个数private LinkedListInteger adj[]; // 邻接表public Graph(int v) {this.v v;adj new LinkedList[v];for (int i0; iv; i) {adj[i] new LinkedList();}}public void addEdge(int s, int t) { // s先于t边s-tadj[s].add(t);} }排序算法有两种方式BFS和DFS。 BFS遍历 BFS遍历也称为Khan算法。在构建图的时候如果A.java依赖B.java那就从B到A有一条边B-A。那入度为0的点就是最先编译的。 找到入度为0的顶点X将其输出到拓扑排序结果列表中然后删除以X为起点的所有的边。继续查找入度为0的顶点添加到结果列表中。 public ListInteger topSortByKahn(){int[] inDegree new int[v];for(int i 0; i adjacency.length; i){for(Edge edge : adjacency[i]){inDegree[edge.tid] ;}}QueueInteger queue new LinkedList();for(int i0;iinDegree.length;i){if(inDegree[i] 0){queue.add(i);}}ListInteger path new ArrayList();while(! queue.isEmpty()){int node queue.poll();path.add(node);for(Edge edge : adjacency[node]){inDegree[edge.tid]--;if(inDegree[edge.tid] 0){queue.offer(edge.tid);}}}return path;}DFS遍历 按照深度优先搜索的方式遍历每个顶点。假如有条路径是A-B-C-E、A-D-C。 DFS的时候如果先走的是第一条要先访问了C、E才会访问D-C这条路线。这样的话就不能找到C什么时候可以执行。所以需要将邻接矩阵转为逆邻接矩阵。 E-C-B-A、C-D-A。 说明A先执行了才能执行BB、D先执行才能执行CC执行了才能执行 E。这个顺序符合要求。 在DFS处理环节把一个顶点所依赖的所有节点先输出再输出本节点。 public ListInteger topSortByDFS(){LinkedListInteger[] inverseAdg new LinkedList[this.v];for(int i 0; i adjacency.length; i){inverseAdg[i] new LinkedList();}for(int i 0; i adjacency.length; i){for(Edge edge : adjacency[i]){inverseAdg[edge.tid].add(edge.sid);}}boolean[] visited new boolean[v];ListInteger path new ArrayList();for(int i0;ithis.v;i){if(visited[i] false){dfs(i,inverseAdg,visited,path);}}return path;}private void dfs(int sid, LinkedListInteger[] inverseAdg, boolean[] visited,ListInteger path) {visited[sid] true;for(int tid : inverseAdg[sid]){if(visited[tid] false){dfs(tid,inverseAdg,visited,path);}}path.add(sid);}完整代码
http://www.pierceye.com/news/253/

相关文章:

  • 创建个人网站的步骤ui设计师要学什么
  • 基金培训网站wordpress产品列表页
  • 网站网页的收录数量哪家做网站便宜
  • 宿州保洁公司哪家好大连seo排名扣费
  • 免费自助网站建站淄博天一建设项目招标代理有限公司网站
  • 做竞价网站需要什么样的空间广西桂林公司
  • 什么是网站建设的建议什么人做网站
  • 公司企业网站建设步骤上海网站建设联系方式
  • 做艺人资料卡的网站社保服务个人网站
  • 营销型企业网站建设的流程是公司网站开发人员离职后修改公司网站
  • 做gif动图的网站犯法吗网页的设计流程是怎样的
  • 给个高质量的网站word用来做网站的
  • 外贸公司网站建设费用 如何申请国家信用信息公示系统广东
  • 洪梅网站建设公司网站建立明细预计表
  • 定制产品网站河南新闻头条最新消息
  • 上海网站开发多少钱怎样查找网站域名
  • 吉林大学建设工程学院网站百度小程序官网
  • 城乡建设部网站首页甲级wordpress系统下载
  • 江苏优质网站制作公司杭州企业网站建设公司怎么样
  • 企业网站建设规划电子商务网站建设参考文献2018
  • 网页设计及制作方法南京网站建设 seo
  • 在沈阳做一个展示网站多少钱做盗版电影网站教程
  • 深圳网站建房个人网站制作手绘
  • 精品网站建设价格网页设计图片大小代码
  • 手机图片网站源码东莞微网站制作
  • 沭阳哪里可以做网站WordPress中文改英文版
  • 科创纵横 网站建设开发直播app赚钱吗
  • 做外贸网站流程网站建设有哪些板块
  • 南通网站建设策划秦皇岛网站开发
  • 广州快速建站公司推荐上海画册设计