建设网站论坛都需要哪些工具自己做抽奖网站违法

张小明 2026/1/9 21:09:13
建设网站论坛都需要哪些工具,自己做抽奖网站违法,重庆建设监理协会网站,如何做电商网站视频图其实有很多应用#xff0c;现实系统可以用图来建模#xff0c;相应的问题也可以约化为图计算问题。图#xff08;graph#xff09;是一种非线性数据结构#xff0c;由顶点#xff08;vertex#xff09;和边#xff08;edge#xff09;组成。我们可以将图 图G 抽象地…图其实有很多应用现实系统可以用图来建模相应的问题也可以约化为图计算问题。图graph是一种非线性数据结构由顶点vertex和边edge组成。我们可以将图图G 抽象地表示为一组顶点V 和一组边E 的集合。如果将顶点看作节点将边看作连接各个节点的引用指针我们就可以将图看作一种从链表拓展而来的数据结构。相较于线性关系链表和分治关系树网络关系图的自由度更高因而更为复杂。图的表示1邻接矩阵设图的顶点数量为 n 邻接矩阵adjacency matrix使用一个 n乘以n大小的矩阵来表示图每一行列代表一个顶点矩阵元素代表边用 1 或 0表示两个顶点之间是否存在边。设邻接矩阵为 M、顶点列表为 V 那么矩阵元素 M[i,j]1表示顶点 V[i]到顶点 V[j] 之间存在边反之 M[i,j]0表示两顶点之间无边。顶点不能与自身相连此时邻接矩阵主对角线元素没有意义。对于无向图两个方向的边等价此时邻接矩阵关于主对角线对称。将邻接矩阵的元素从 1 和 0替换为权重则可表示有权图。使用邻接矩阵表示图时我们可以直接访问矩阵元素以获取边因此增删查改操作的效率很高时间复杂度均为 O(1)。然而矩阵的空间复杂度为O(n平方) 内存占用较多。基于邻接矩阵的基础操作/* 基于邻接矩阵实现的无向图类 */classGraphAdjMat{ListIntegervertices;// 顶点列表元素代表“顶点值”索引代表“顶点索引”ListListIntegeradjMat;// 邻接矩阵行列索引对应“顶点索引”/* 构造方法 */publicGraphAdjMat(int[]vertices,int[][]edges){this.verticesnewArrayList();this.adjMatnewArrayList();// 添加顶点for(intval:vertices){addVertex(val);}// 添加边// 请注意edges 元素代表顶点索引即对应 vertices 元素索引for(int[]e:edges){addEdge(e[0],e[1]);}}/* 获取顶点数量 */publicintsize(){returnvertices.size();}/* 添加顶点 */publicvoidaddVertex(intval){intnsize();// 向顶点列表中添加新顶点的值vertices.add(val);// 在邻接矩阵中添加一行ListIntegernewRownewArrayList(n);for(intj0;jn;j){newRow.add(0);}adjMat.add(newRow);// 在邻接矩阵中添加一列for(ListIntegerrow:adjMat){row.add(0);}}/* 删除顶点 */publicvoidremoveVertex(intindex){if(indexsize())thrownewIndexOutOfBoundsException();// 在顶点列表中移除索引 index 的顶点vertices.remove(index);// 在邻接矩阵中删除索引 index 的行adjMat.remove(index);// 在邻接矩阵中删除索引 index 的列for(ListIntegerrow:adjMat){row.remove(index);}}/* 添加边 */// 参数 i, j 对应 vertices 元素索引publicvoidaddEdge(inti,intj){// 索引越界与相等处理if(i0||j0||isize()||jsize()||ij)thrownewIndexOutOfBoundsException();// 在无向图中邻接矩阵关于主对角线对称即满足 (i, j) (j, i)adjMat.get(i).set(j,1);adjMat.get(j).set(i,1);}/* 删除边 */// 参数 i, j 对应 vertices 元素索引publicvoidremoveEdge(inti,intj){// 索引越界与相等处理if(i0||j0||isize()||jsize()||ij)thrownewIndexOutOfBoundsException();adjMat.get(i).set(j,0);adjMat.get(j).set(i,0);}/* 打印邻接矩阵 */publicvoidprint(){System.out.print(顶点列表 );System.out.println(vertices);System.out.println(邻接矩阵 );PrintUtil.printMatrix(adjMat);}}邻接表adjacency list使用 n个链表来表示图链表节点表示顶点。第 i个链表对应顶点 i其中存储了该顶点的所有邻接顶点与该顶点相连的顶点。邻接表仅存储实际存在的边而边的总数通常远小于 因此它更加节省空间。然而在邻接表中需要通过遍历链表来查找边因此其时间效率不如邻接矩阵。基于邻接表的基础操作/* 基于邻接表实现的无向图类 */classGraphAdjList{// 邻接表key顶点value该顶点的所有邻接顶点MapVertex,ListVertexadjList;/* 构造方法 */publicGraphAdjList(Vertex[][]edges){this.adjListnewHashMap();// 添加所有顶点和边for(Vertex[]edge:edges){addVertex(edge[0]);addVertex(edge[1]);addEdge(edge[0],edge[1]);}}/* 获取顶点数量 */publicintsize(){returnadjList.size();}/* 添加边 */publicvoidaddEdge(Vertexvet1,Vertexvet2){if(!adjList.containsKey(vet1)||!adjList.containsKey(vet2)||vet1vet2)thrownewIllegalArgumentException();// 添加边 vet1 - vet2adjList.get(vet1).add(vet2);adjList.get(vet2).add(vet1);}/* 删除边 */publicvoidremoveEdge(Vertexvet1,Vertexvet2){if(!adjList.containsKey(vet1)||!adjList.containsKey(vet2)||vet1vet2)thrownewIllegalArgumentException();// 删除边 vet1 - vet2adjList.get(vet1).remove(vet2);adjList.get(vet2).remove(vet1);}/* 添加顶点 */publicvoidaddVertex(Vertexvet){if(adjList.containsKey(vet))return;// 在邻接表中添加一个新链表adjList.put(vet,newArrayList());}/* 删除顶点 */publicvoidremoveVertex(Vertexvet){if(!adjList.containsKey(vet))thrownewIllegalArgumentException();// 在邻接表中删除顶点 vet 对应的链表adjList.remove(vet);// 遍历其他顶点的链表删除所有包含 vet 的边for(ListVertexlist:adjList.values()){list.remove(vet);}}/* 打印邻接表 */publicvoidprint(){System.out.println(邻接表 );for(Map.EntryVertex,ListVertexpair:adjList.entrySet()){ListIntegertmpnewArrayList();for(Vertexvertex:pair.getValue())tmp.add(vertex.val);System.out.println(pair.getKey().val: tmp,);}}}
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

网站基本要素影响网站打开速度的因素

在竞争激烈的人才市场,一次失败的招聘不仅浪费资源,更可能给团队带来风险。您是否曾为新员工简历的光鲜背后而隐隐担忧?江湖背调,正是为您扫清迷雾的利器。依托权威合规的数据源与智能分析技术,我们将复杂的背景调查转…

张小明 2026/1/9 4:06:17 网站建设

品牌网站运营网络优化工资一般多少

作为项目可持续化研究的第二篇,我们今天谈“标准化”。 “标准化”是精益服务屋三基础的第二层。精益屋的结构见之前的文章 --《如何做好项目 - 项目可持续化研究 1》。 https://blog.csdn.net/remottshanghai/article/details/153642652?spm1001.2014.3001.5501…

张小明 2026/1/9 11:44:50 网站建设

广州印刷网站建设外贸做哪些网站平台好

1. 系统总体概述 点击链接下载设计资料:https://download.csdn.net/download/m0_51061483/92081508 1.1 设计背景 随着智能家居和节能照明技术的不断发展,传统只能简单开关控制的台灯已经难以满足现代用户对舒适性、智能化和节能性的综合需求。在日常学…

张小明 2026/1/8 22:14:15 网站建设

app科技网站建设网站建设合同图片

Apache Fesod终极指南:3个简单步骤彻底解决Java Excel处理难题 【免费下载链接】fastexcel easyexcel作者最新升级版本, 快速、简洁、解决大文件内存溢出的java处理Excel工具 项目地址: https://gitcode.com/gh_mirrors/fast/fastexcel 在Java开发…

张小明 2026/1/9 13:35:34 网站建设

如何快速网站备案太原seo代理计费

今天我们来学习Python中非常重要的概念——变量一、变量是什么?想象一下,变量就像我们日常生活中的“储物柜”或“贴有标签的盒子”:储物柜本身 变量储物柜上的标签 变量名储物柜里存放的东西 变量值每个变量指向一个值---与该变量相关联的…

张小明 2026/1/9 20:53:07 网站建设

qq邮箱官方网站果农在哪些网站做推广

MySQL Connector/J 作为 MySQL 官方提供的 JDBC 驱动程序,是连接 Java 应用程序与 MySQL 数据库的关键桥梁。无论你是刚接触数据库编程的新手,还是希望优化现有项目的开发人员,这篇指南都将为你提供实用的解决方案。🚀 【免费下载…

张小明 2026/1/9 14:13:13 网站建设