在线网站制作平台网站标题图片怎么做

张小明 2026/1/2 15:33:26
在线网站制作平台,网站标题图片怎么做,网站开发和游戏开发哪个好,民治做网站的公司图 一、图的基础概念与术语概念#xff1a;图是一种非线性数据结构#xff0c;由顶点和边组成#xff0c;相较于线性关系#xff08;链表#xff09;和分治关系#xff08;树#xff09;#xff0c;网络关系#xff08;图#xff09;的自由度更高#xff0c;因而更为…图一、图的基础概念与术语概念图是一种非线性数据结构由顶点和边组成相较于线性关系链表和分治关系树网络关系图的自由度更高因而更为复杂。常见类型是否有方向无向图与有向图在无向图中边表示两顶点之间的“双向”连接关系在有向图中边具有方向性即A→B和B→A两个方向的边是相互独立的所有顶点是否连通连通图和非连通图对于连通图从某个顶点出发可以到达其余任意顶点。对于非连通图从某个顶点出发至少有一个顶点无法到达。我们还可以为边添加“权重”变量从而得到有权图术语邻接当两顶点之间存在边相连时称这两顶点“邻接”。路径从顶点 A 到顶点 B 经过的边构成的序列被称为从 A 到 B 的“路径”。度一个顶点拥有的边数。对于有向图入度表示有多少条边指向该顶点出度表示有多少条边从该顶点指出。二、图的表示邻接矩阵设图的顶点数量为 邻接矩阵使用一个 大小的矩阵来表示图每一行列代表一个顶点矩阵元素代表边用0或1表示两个顶点之间是否存在边。邻接表邻接表adjacency list使用n个链表来表示图链表节点表示顶点。第i个链表对应顶点i其中存储了该顶点的所有邻接顶点与该顶点相连的顶点。三、图的基础操作基于邻接矩阵的实现/* 基于邻接矩阵实现的无向图类 */ class GraphAdjMat { vectorint vertices; vectorvectorint adjMat; public: /* 构造方法 */ GraphAdjMat(const vectorint vertices, const vectorvectorint edges) { // 添加顶点 for (int val : vertices) { addVertex(val); } // 添加边 for (const vectorint edge : edges) { addEdge(edge[0], edge[1]); } } /* 获取顶点数量 */ int size() const { return vertices.size(); } /* 添加顶点 */ void addVertex(int val) { int n size(); vertices.push_back(val); adjMat.emplace_back(vectorint(n, 0)); for (vectorint row : adjMat) { row.push_back(0); } } /* 删除顶点 */ void removeVertex(int index) { if (index size()) { throw out_of_range(顶点不存在); } vertices.erase(vertices.begin() index); adjMat.erase(adjMat.begin() index); for (vectorint row : adjMat) { row.erase(row.begin() index); } } /* 添加边 */ // 参数 i, j 对应 vertices 元素索引 void addEdge(int i, int j) { if (i 0 || j 0 || i size() || j size() || i j) { throw out_of_range(顶点不存在); } adjMat[i][j] 1; adjMat[j][i] 1; } /* 删除边 */ void removeEdge(int i, int j) { if (i 0 || j 0 || i size() || j size() || i j) { throw out_of_range(顶点不存在); } adjMat[i][j] 0; adjMat[j][i] 0; } /* 打印邻接矩阵 */ void print() { cout 顶点列表 ; printVector(vertices); cout 邻接矩阵 endl; printVectorMatrix(adjMat); } };基于邻接表的实现/* 基于邻接表实现的无向图类 */ class GraphAdjList { public: unordered_mapVertex *, vectorVertex * adjList; /* 在 vector 中删除指定节点 */ void remove(vectorVertex * vec, Vertex *vet) { for (int i 0; i vec.size(); i) { if (vec[i] vet) { vec.erase(vec.begin() i); break; } } } /* 构造方法 */ GraphAdjList(const vectorvectorVertex * edges) { for (const vectorVertex * edge : edges) { addVertex(edge[0]); addVertex(edge[1]); addEdge(edge[0], edge[1]); } } /* 获取顶点数量 */ int size() { return adjList.size(); } /* 添加边 */ void addEdge(Vertex *vet1, Vertex *vet2) { if (!adjList.count(vet1) || !adjList.count(vet2) || vet1 vet2) throw invalid_argument(不存在顶点); adjList[vet1].push_back(vet2); adjList[vet2].push_back(vet1); } /* 删除边 */ void removeEdge(Vertex *vet1, Vertex *vet2) { if (!adjList.count(vet1) || !adjList.count(vet2) || vet1 vet2) throw invalid_argument(不存在顶点); remove(adjList[vet1], vet2); remove(adjList[vet2], vet1); } /* 添加顶点 */ void addVertex(Vertex *vet) { if (adjList.count(vet)) return; adjList[vet] vectorVertex *(); } /* 删除顶点 */ void removeVertex(Vertex *vet) { if (!adjList.count(vet)) throw invalid_argument(不存在顶点); adjList.erase(vet); for (auto adj : adjList) { remove(adj.second, vet); } } /* 打印邻接表 */ void print() { cout 邻接表 endl; for (auto adj : adjList) { const auto key adj.first; const auto vec adj.second; cout key-val : ; printVector(vetsToVals(vec)); } } };四、图的遍历广度优先搜索广度优先遍历是一种由近及远的遍历方式从某个节点出发始终优先访问距离最近的顶点并一层层向外扩张代码实现vectorVertex * graphBFS(GraphAdjList graph, Vertex *startVet) { vectorVertex * res; unordered_setVertex * visited {startVet}; queueVertex * que; que.push(startVet); while (!que.empty()) { Vertex *vet que.front(); que.pop(); res.push_back(vet); for (auto adjVet : graph.adjList[vet]) { if (visited.count(adjVet)) continue; que.push(adjVet); visited.emplace(adjVet); } } return res; }
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

公司网站开发费用大概多少台州网站制作维护

几何曲线与物理场中的映射研究 1. 塞雷曲线及其相关研究 1.1 塞雷曲线的起源与定义 塞雷曲线最初是为回应勒让德提出的问题而被引入的,问题是寻找除双纽线外,弧长能用第一类椭圆积分表示的代数曲线。塞雷声称找到了所有这类有理曲线,并给出了一种机械构造方法。最初的塞雷…

张小明 2026/1/1 0:48:04 网站建设

现在建设网站挣钱吗虚拟网站建设指导

ExplorerPatcher:为Windows 11用户打造个性化工作空间 【免费下载链接】ExplorerPatcher 项目地址: https://gitcode.com/gh_mirrors/exp/ExplorerPatcher Windows 11带来了全新的视觉体验,但不少用户发现原有的高效操作习惯被打破。ExplorerPat…

张小明 2026/1/1 0:46:00 网站建设

站长工具5g美食烹饪网站策划书

目前最流行的哲学理论——懂天之冬:雪中足迹与生命智慧冬日来临,万物沉寂。在颜廷利教授的目前最先进的哲学理论《升命学说》哲学视域中,“冬天”与“懂天”的谐音关联并非偶然,而是蕴含着东方智慧的深刻隐喻。这位来自山东济南的…

张小明 2026/1/2 0:45:48 网站建设

比特币交易所网站开发wordpress 会员投稿

终极指南:5个步骤让老Mac完美运行最新macOS系统 【免费下载链接】OpenCore-Legacy-Patcher 体验与之前一样的macOS 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 还在为2012年之前的老款Mac无法升级到最新macOS系统而烦恼吗&a…

张小明 2026/1/2 5:17:21 网站建设

北京学会网站建设带屏蔽的网站做水晶头

Qwen3-VL-8B的Attention结构深度拆解 在当前多模态AI加速落地的背景下,如何让模型既“看得懂图”又“答得准话”,同时还能跑在一张消费级显卡上?这成了工业界最现实的技术命题。阿里巴巴推出的 Qwen3-VL-8B 正是在这一挑战下诞生的典型代表—…

张小明 2026/1/1 0:37:49 网站建设

手机网站 app海天建设集团公司网站

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 开发一个企业级Python部署管理系统,功能包括:1)多节点批量下载Python官方安装包 2)自动校验文件完整性 3)生成部署报告 4)支持离线安装包制作 5)版本合规性检…

张小明 2026/1/1 0:35:35 网站建设