邻接表(单链表)详细分析,言简意赅

简介: 邻接表(单链表)详细分析,言简意赅

树和图都可以用到

🎆🎆🎆比如加入图的每一条边,就可以用这个方法 🎆🎆🎆

邻接表就是单链表,如果有n个结点,就开了n个单链表。

存储这个点可以走向哪里

邻接表可以存储有向图

image.png

使用邻接表时,一般选择头插法

🏳️‍🌈🏳️‍🌈🏳️‍🌈在上面的图片中。

🎆🎆🎆h[1]=3

🎆🎆🎆h[2]=1

🎆🎆🎆h[3]=4  

比如插入2→3的边,其实就插入3这个点

image.png

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

下面一段代码,是写这一类题经常用到的方法

 for(int i = h[a]; i != -1; i = ne[i]){
//h[a]是队头 -1是队尾  ne[i]是下一个点
}

Code over!

相关文章
数据结构:链表的一些经典的OJ题目,环形链表问题
数据结构:链表的一些经典的OJ题目,环形链表问题
|
6月前
|
算法
单链表(面试算法题3)---两链表相交问题
单链表(面试算法题3)---两链表相交问题
26 0
|
8月前
|
存储 Java
图解Java数据结构之环形链表
图解Java数据结构之环形链表
|
9月前
|
C语言
【每日易题】数据结构链表篇——单链表oj题(1),几道典型例题带你快速掌握单链表
【每日易题】数据结构链表篇——单链表oj题(1),几道典型例题带你快速掌握单链表
56 0
|
11月前
|
存储 算法 Java
Java数据结构与算法分析(三)链表(单链表、双链表、环形链表)
通过前篇文章《[数组](https://blog.csdn.net/gozhuyinglong/article/details/109702860)》了解到数组的存储结构是一块连续的内存,插入和删除元素时其每个部分都有可能整体移动。为了避免这样的线性开销,我们需要保证数据可以不连续存储。本篇介绍另一种数据结构:链表。
175 0
|
11月前
|
算法
【基础算法】单链表的OJ练习(5) # 环形链表 # 环形链表II # 对环形链表II的解法给出证明(面试常问到)
【基础算法】单链表的OJ练习(5) # 环形链表 # 环形链表II # 对环形链表II的解法给出证明(面试常问到)
|
索引
图解LeetCode——142. 环形链表 II
图解LeetCode——142. 环形链表 II
162 1
|
存储 索引
图解LeetCode——141. 环形链表
图解LeetCode——141. 环形链表
101 1
|
算法
大厂面试经典单链表例题(创建有序单链表,逆置单链表,判断链表是否有环,取链表中间节点)(含核心代码与解析)
大厂面试经典单链表例题(创建有序单链表,逆置单链表,判断链表是否有环,取链表中间节点)(含核心代码与解析)
|
存储 C语言
什么是链表,如何实现?(单链表篇)
什么是链表,如何实现?(单链表篇)
55 0
什么是链表,如何实现?(单链表篇)