Skip to content

Latest commit

 

History

History
 
 

graph

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

README.md

图

  • 相对于树来说更复杂的非线性数据结构

图分类

  • 无向图
    • 表示顶点到顶点没有方向
  • 有向图
    • 表示顶点到顶点有方向
      • 入度:有多少个顶点进入
      • 出度:有多少个顶点出去
      • 六度分割理论
  • 带权图
    • 表示顶点到顶点有权重

图的存储方式

  • 邻接矩阵:
    • 缺点:对于无向图来说,用邻接矩阵存储是浪费空间的,因为邻接矩阵是对称的,并且对于大量顶点需要跟多的空间来存储
    • 优点:直观,并且可以利用矩阵计算,求最短路径
  • 邻接表:
  • 如何实现微博的关注关系
    • 用邻接表来实现用户的关注的人
      • 类似链表链表对缓存不友好,可以通过其他方式优化比如hash,跳表,红黑二叉树等来实现快速查询,B+树
      • 可以通过其他存储方式落地,比如mysql建立表。
    • 用逆邻接表来实现用户的粉丝
  • 搜索
    • 广度搜索:地毯式搜索
    • 深度搜索:深度优先式搜索