c++ 图的邻接表表示 c++图数据结构实现


邻接表用vector存储无向图,addEdge双向添加边,print遍历输出;带权图用vector存边权,适合稀疏图,空间省、遍历快。

c++ 图的邻接表表示 c++图数据结构实现

在C++中实现图的邻接表表示,是一种高效且常用的方式,尤其适合稀疏图(边数远小于顶点数平方)的存储和操作。邻接表使用数组或vector配合链表(或vector)来存储每个顶点的邻接顶点,既能节省空间,又能方便地遍历邻居节点。

邻接表的基本结构

一个无向图或有向图可以用以下方式建模:

  • 用一个vector> 来表示每个顶点连接的其他顶点。
  • 如果是带权图,可以用 vectorair>>,其中 pair 的第一个值是邻接点,第二个是边的权重。
  • 顶点编号通常从0或1开始。

基础实现:无向无权图

// graph_adjacency_list.cpp

#include iostream>
#include
using namespace std;

class Graph {
private:
    int V; // 顶点数量
    vector> adj; // 邻接表

public:
    Graph(int vertices) : V(vertices), adj(vertices) {}

    // 添加边(无向图)
    void addEdge(int u, int v) {
        adj[u].push_back(v);
        adj[v].push_back(u); // 无向图双向添加
    }

    // 打印邻接表
    void print() const {
        for (int i = 0; i             cout             for (int neighbor : adj[i]) {
                cout             }
            cout         }
    }

};

网趣网上购物系统旗舰版 网趣网上购物系统旗舰版

网趣网上购物系统支持PC电脑版+手机版+APP,数据一站式更新,支持微信支付与支付宝支付接口,是专业的网上商城系统,网趣商城系统支持淘宝数据包导入,实现与淘宝同步更新!支持上传图片水印设置、图片批量上传功能,同时支持订单二次编辑以及多级分类隐藏等实用功能,新版增加商品大图浏览与列表显示功能,使分类浏览更方便,支持最新的支付宝即时到帐接口。

网趣网上购物系统旗舰版 0 查看详情 网趣网上购物系统旗舰版

// 使用示例
int main() {
    Graph g(5); // 创建5个顶点的图
    g.addEdge(0, 1);
    g.addEdge(0, 4);
    g.addEdge(1, 2);
    g.addEdge(1, 3);
    g.addEdge(1, 4);
    g.addEdge(2, 3);
    g.addEdge(3, 4);

    g.print();
    return 0;
}

扩展:有向带权图

如果需要处理有向图或带权图,可以修改邻接表为存储 pair 或自定义结构体。

class WeightedGraph {
private:
    int V;
    vector>> adj; // 邻接表:目标顶点,权重

public:
    WeightedGraph(int vertices) : V(vertices), adj(vertices) {}

    // 添加有向边 u -> v,权重 w
    void addEdge(int u, int v, int w) {
        adj[u].push_back({v, w});
    }

    void print() const {
        for (int i = 0; i             cout             for (auto& edge : adj[i]) {
                cout             }
            cout         }
    }

};

关键点说明

  • 使用 vector> 是最常见做法,动态扩容,代码简洁。
  • 对于稀疏图,邻接表比邻接矩阵更节省内存。
  • 遍历某个顶点的所有邻居时间复杂度为 O(度),效率高。
  • 若频繁查询两点是否有边,可考虑搭配哈希表优化,但一般DFS/BFS不需要。
  • 支持快速插入边,删除边稍麻烦(需在vector中erase),如需频繁删除可用 list 替代 inner vector。
基本上就这些。这种实现方式灵活、直观,是算法题和实际开发中图结构的标准写法之一。

以上就是c++++ 图的邻接表表示 c++图数据结构实现的详细内容,更多请关注其它相关文章!


# 邻接表  # c++  # 购物系统  # 数据结构  # 遍历  # stream  # ios  # ai  # edge  # 罗山seo网络推广团队  # 跨界营销的推广方式  # 丽水网站建设微信推广  # 做推广网站的公司  # 牛客抖音seo  # 台州seo排名优化技术  # 宿迁关键词排名技巧  # 小卖部泡面营销推广  # 网站优化方案意义和作用  # 高级SEO发展前景  # 支付宝  # 绑定  # 高性能  # 淘宝  # 可以用  # 网上  # 如何实现 


相关栏目: 【 Google疑问12 】 【 Facebook疑问10 】 【 优化推广96088 】 【 技术知识133117 】 【 IDC资讯59369 】 【 网络运营7196 】 【 IT资讯61894


相关推荐: Win10共享文件夹设置方法 Win10局域网文件共享全攻略【教程】  火狐浏览器如何刷新修复浏览器 火狐浏览器“重置Firefox”功能详解  Linux如何开发轻量级数据服务模块_Linux服务化设计  C++ optional用法详解_C++17处理可能为空的返回值  《伊瑟》凶影追缉库卢鲁boss攻略  C++怎么解决数值计算中的精度问题_C++浮点数误差与数值稳定性分析  教育查询官方网站入口 教育个人档案查询免费官网  店铺如何做视频号推广?做视频号推广有用吗?  《kimi智能助手》制作ppt教程  在VS Code中利用AI辅助进行代码迁移  《百度畅听版》关闭兴趣推荐方法  快递优选如何查优选物流_快递优选专属物流渠道查询与配送时效  中通快递官网指定查询 中通快递单号查询平台入口  发博客与长微博技巧  抖音商城官网是什么_抖音商城官方网址与访问方法  智云Q3和Q2有什么升级_智云Q3与Q2手持云台功能与性能对比分析  蜻蜓FM如何设置移动流量播放  PyEZ 配置提交中 RpcTimeoutError 的健壮性处理策略  三星A55应用闪退排查步骤_Samsung A55稳定性优化技巧  创客贴登录页面入口 创客贴网页版最新网址链接  Python中处理嵌套字典与列表的数据提取与过滤教程  C++ static关键字作用_C++静态成员变量与静态函数  如何在mysql中设计餐饮点餐系统_mysql点餐系统项目实战  123网页端官方登录页 123邮箱网页版即时通讯服务  微博网页版入口链接 微博网页版在线互动平台  C#解析来自网络的XML流数据 实时错误处理与重试机制  汽水音乐官网网页版入口 汽水音乐官网网页版在线入口  《大学搜题酱》官网地址登录  Dash应用多值文本输入处理与类型转换教程  如何在CSS中使用过渡制作按钮边框渐变_border-color transition实现  b站怎么设置动态仅粉丝可见_b站动态粉丝可见设置方法  《下一站江湖2》独孤剑诀习得方法  小米civi如何设置锁屏时间  Highcharts雷达图轴线交点数值标注指南  高效调试PHP大型嵌套数组:JSON序列化与可视化工具实践  红手指专业版app注册教程  《火影忍者:木叶高手》快速升级攻略  百度竞价WAP显示PC链接问题  C++二维数组动态分配方法_C++指针与数组内存布局  Windows自带的便笺数据如何备份_防止数据丢失的便利贴迁移教程【干货】  支付宝登录刷脸不是本人如何解决  英国搜索:多数英国人认为语言搜索是未来搜索  mysql如何限制远程访问_mysql远程访问限制方法  《猎聘》筛选猎头岗位方法  Golang如何测试结构体方法_Golang reflect方法测试与调用技巧  iPhone 13 mini如何清理Safari缓存_iPhone 13 mini浏览器缓存清理方法  谷歌学术论文搜索引擎 谷歌学术官网入口论坛永久链接  Win10如何彻底关闭OneDrive Win10禁用云同步功能【纯净】  秋风萧瑟洪波涌起中的萧瑟指的是什么  顺丰快递在线查询系统 顺丰快递官方查单入口 

 2025-11-28

了解您产品搜索量及市场趋势,制定营销计划

同行竞争及网站分析保障您的广告效果

点击免费数据支持

提交您的需求,1小时内享受我们的专业解答。

运城市盐湖区信雨科技有限公司


运城市盐湖区信雨科技有限公司

运城市盐湖区信雨科技有限公司是一家深耕海外推广领域十年的专业服务商,作为谷歌推广与Facebook广告全球合作伙伴,聚焦外贸企业出海痛点,以数字化营销为核心,提供一站式海外营销解决方案。公司凭借十年行业沉淀与平台官方资源加持,打破传统外贸获客壁垒,助力企业高效开拓全球市场,成为中小企业出海的可靠合作伙伴。

 8156699

 13765294890

 8156699@qq.com

Notice

We and selected third parties use cookies or similar technologies for technical purposes and, with your consent, for other purposes as specified in the cookie policy.
You can consent to the use of such technologies by closing this notice, by interacting with any link or button outside of this notice or by continuing to browse otherwise.