数组模拟邻接表 #图论

news/2025/3/23 12:29:51/

文章目录

  • 为什么要用数组来模拟邻接表
  • 存储思路
  • 遍历思路

树是特殊的图,因此邻接表可以存储图和树两种数据结构

为什么要用数组来模拟邻接表

在算法设计当中,利用数组来代替结构体模拟各种数据结构会更加简单。

存储思路

给定如下数据,我们可以构造如下的一个邻接表
在这里插入图片描述
在这里插入图片描述
请看代码

/**idx:索引,代表数组哪个位置,是否连续不重要,因为我们的存储是链式的。h[idx] : 顶点表,下标idx代表是哪个顶点,初始值全部为-1,代表没有数据e[idx] : 边表,下标idx存储的边值 ne[idx] :  索引为idx的下一个索引其中a是顶点,b是边表。即a指向b如果其是一个无向图,那么我们可以建立a指向b和b指向a。如果其实一个树,那么a代表父节点,b代表孩子节点
**/
void add(int a,int b){e[idx]=b;ne[idx]=h[a];h[a]=idx++;
}

在这里插入图片描述

遍历思路

下面演示遍历1号头结点

for(int i=h[1]; i!=-1; i=ne[i]){int j=e[i];//当前边的值cout<<j; 
} 
文章来源:https://blog.csdn.net/mzh1213/article/details/146358781
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ppmy.cn/news/1581018.html

相关文章

基于微信小程序的充电桩管理系统

一、开发背景 在开发充电汽车管理系统之前&#xff0c;深入的需求分析至关重要。我们要充分了解不同用户群体的需求&#xff0c;比如私家车主希望充电过程便捷、高效、安全&#xff0c;能够实时查看充电状态和费用明细&#xff1b;出租车、网约车司机则更注重充电速度和充电桩…

设计模式,如单例模式、观察者模式在什么场景下使用

以下是单例模式和观察者模式的介绍及应用场景&#xff1a; 单例模式 - 定义&#xff1a;保证一个类仅有一个实例&#xff0c;并提供一个全局访问点。 - 实现方式&#xff1a;私有化构造函数&#xff0c;防止外部实例化&#xff1b;提供一个静态成员函数来获取唯一实例。 - 应用…

前端解决跨域的几种方案

以下是前端解决跨域问题的 7 种主流方案&#xff0c;根据应用场景和实现难度排序&#xff0c;附详细实现示例&#xff1a; 一、开发环境解决方案 1. Webpack DevServer 代理&#xff08;推荐&#xff09; // vue.config.js / webpack.config.js module.exports {devServer: …

Qt-QChart实现折线图

一、介绍场景 动态查看数据变化&#xff0c;或者了解数据发展趋势&#xff0c;让数据可以形象直观展现出来&#xff0c;这里推荐使用折线图的方式展现&#xff0c;本文抛砖引玉&#xff0c;简单实现一个实例&#xff0c;效果图如下&#xff1a; 二、实现步骤 1、charts组件 …

解决qt中自定插件加载失败,不显示问题。

这个问题断断续续搞了一天多&#xff0c;主要是版本不匹配问题。 我们先来看下 Based on Qt 6.6.0 → 说明 Qt Creator 本身 是基于 Qt 6.6.0 框架构建的。MSVC 2019, 64-bit → 说明 Qt Creator 是使用 Microsoft Visual C 2019 编译器&#xff08;64 位&#xff09; 编译的。…

2024年河南省职业院校 技能大赛高职组 “大数据分析与应用” 赛项任务书(四)

2024 年河南省职业院校 技能大赛高职组 “大数据分析与应用” 赛项任务书&#xff08;四&#xff09;&#xff09; 背景描述&#xff1a;任务一&#xff1a;Hadoop 完全分布式安装配置&#xff08;25 分&#xff09;任务二&#xff1a;离线数据处理&#xff08;25 分&#xff0…

Dify + Agent实现自然语言查询Mysql数据库并分析

问题是&#xff0c;我配置完AGENT中的提示词、变量、知识库、工具后&#xff0c;比如我输入“查询用户信息”&#xff0c;按照 【知识库】中的文件信息&#xff0c;生成的sql应该是 “select * from sys_user”等sql,但现在情况是&#xff0c;生成的sql中的表信息&#xff0…

网络安全常识科普(百问百答)

汪乙己一到店&#xff0c;所有喝酒的人便都看着他笑&#xff0c;有的叫道&#xff0c;“汪乙己&#xff0c;你又监控员工隐私了&#xff01;”他不回答&#xff0c;对柜里说&#xff0c;“来两个fofa。”便排出三个比特币。他们又故意的高声嚷道&#xff0c;“你一定又在电报群…