数据结构与算法
数据结构与算法的收集地
摆烂菜鸡沧996
非科班,试图转型ing.
底层菜鸡
展开
-
【笔记整理】数组模拟邻接表存储图 及图的遍历
图的存储:(有向图/无向图)领接矩阵:g[N][N],适合稠密图,占用空间大,O(N*N)。邻接表:适合稀疏图,占用空间小。邻接表数组模拟邻接表定义:(存储无向图) const N=1E5+5,M=2*N; int h[N],e[M],ne[M],idx;N:表示预定义图的顶点个数;M:表示预定义边的条数。h[i]:表示邻接表的表头结点;e[i]:存储某结点信息;ne[i]:表示结点指向的下一个点的下标。邻接表初始化: memset(h,-1,sizeof h);m原创 2021-10-21 01:56:11 · 1400 阅读 · 1 评论 -
【笔记整理】数组模拟栈/队列 及其应用
模拟栈单调栈模拟队列滑动窗口原创 2021-10-01 02:30:29 · 167 阅读 · 0 评论 -
【笔记整理】数组模拟单链表/双链表
为什么要使用数组模拟链表?链表常在面试中被问到。但是在笔试题中,由于数据的规模在1w~10w级别,每次new一个Node速度很慢,导致程序无法在1s内跑完。用数组模拟链表,可以解决程序运行速度的问题。(用空间换时间)链表的类型:单链表:用于创建邻接表(常在树与图的问题中出现);双链表:用于优化某些问题。单链表一般结构体形式的单链表定义:struct Node{ int value; Node* next;};数组模拟的思想:以下标index为指针,使用两个数组对分别记录单.原创 2021-09-27 00:43:59 · 191 阅读 · 0 评论