IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 【数据结构】非模拟化的邻接矩阵的实现 -> 正文阅读

[网络协议]【数据结构】非模拟化的邻接矩阵的实现

一、摘要
有一段建立邻接表的代码

void add(int a, int b)
{
    e[idx] = b, ne[idx] = h[a], h[a] = idx ++ ;
}

对他进行分析,看他是怎么实现邻接表的建立的。

二、邻接表
??邻接表是表示一个节点与其他节点的相连关系的。下面表示一个图,以及其邻接表。蓝色部分代表的是起点。
图一
在这里插入图片描述
三、代码分析

void add(int a, int b)
{
    e[idx] = b;
    ne[idx] = h[a];
    h[a] = idx ++ ;
}

??三、一:传统邻接链表实现
传统的模拟头插法插入节点实现邻接链表,仅展示一个节点的插入:

struct node{
	int num;
	node*next;
}
struct Firstnode{
	node* next;
}
//Firstnode代表邻接矩阵的起点,如上图所示蓝色部分。
//index代表是几号的邻接,代表上图蓝色部分的符号
void insert(Firstnode[],int index)
{
	node* Node = (node*)malloc(sizeof(node));
	//下一步应该是给Node中的num赋值
	node.num = b;
	//然后是结构上的变化
	node.next = Firstnode[index];
	Firstnode[index] = node;
}

在这里插入图片描述
在这里插入图片描述
????我们观察两组代码,第二个代码其实就是省略了结构体的头插法建立邻接矩阵。读到这里我们要建立这样一个思维。模拟邻接矩阵中的节点(node)里面有num和next,分别是节点的信息和下一个节点的指针。Firstnode是单独存在的。
????idx是一个节点数组小标的唯一标识。如下图,相同idx下标的e和ne就相当于模拟数组的一个node节点。h代表Firstnode。

在这里插入图片描述

下面是头插法的图示
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-05-08 08:27:36  更:2022-05-08 08:27:55 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 11:41:56-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码