通过与 Jira 对比,让您更全面了解 PingCode

  • 首页
  • 需求与产品管理
  • 项目管理
  • 测试与缺陷管理
  • 知识管理
  • 效能度量
        • 更多产品

          客户为中心的产品管理工具

          专业的软件研发项目管理工具

          简单易用的团队知识库管理

          可量化的研发效能度量工具

          测试用例维护与计划执行

          以团队为中心的协作沟通

          研发工作流自动化工具

          账号认证与安全管理工具

          Why PingCode
          为什么选择 PingCode ?

          6000+企业信赖之选,为研发团队降本增效

        • 行业解决方案
          先进制造(即将上线)
        • 解决方案1
        • 解决方案2
  • Jira替代方案

25人以下免费

目录

邻接表为什么不用set而用vector存储

因为邻接表不需要有序,它只是用来存边的。邻接表较好使用链式前向星,vector存图常数有点大。set的功能:有序、判重、查询,这些对于邻接表来说是累赘。邻接表只需要把边存下来并维护边与边之间的联系即可。

一、邻接表为什么不用set而用vector存储

因为邻接表不需要有序,它只是用来存边的。邻接表较好使用链式前向星,vector存图常数有点大。set的功能:有序、判重、查询,这些对于邻接表来说是累赘。邻接表只需要把边存下来并维护边与边之间的联系即可。判重题目往往都会排除,有序和查询就更用不到了。

邻接表是图的一种链式存储结构。

由两部分组成:表头结点表和边表。

邻接表中每个单链表的名列前茅个结点存放有关顶点的信息,把这一结点看成链表的表头,其余结点存放有关边的信息

(1)表头结点表:包括数据域和链域,数据域存储顶点的名称,链域用于指向链表中名列前茅个结点(与顶点邻接的名列前茅个顶点)

(2)边表:包括邻接点域(指示与顶点邻接的点在图中的位置,即数组下标)、数据域(存储和边相关的信息,如权值)、链域(指示与顶点邻接的下一条边的结点)。

延伸阅读:

二、全局页面置换算法

  • 工作集模型
  • 工作集页置换算法
  • 缺页率置换算法

功能:

当缺页中断发生,需要调入新的页面而内存已满时,选择内存当中哪个物理页面被置换。

目标:

尽可能地减少页面的换进换出次数(既缺页中断的次数)。具体来说,把未来不再使用的或短期内较少使用的页面换出,通常只能在局部性原理指导下依据过去的统计数据来进行预测。

页面锁定(frame locking):

用于描述必须常驻内存的操作系统的关键部分或时间关键(time-critical)的应用程序。实现的方法是L在页表中添加锁定标志位(lock bit)。使其不在页面置换算法范围之内,也就说不会被换入换出。

通常只需要考虑页号,因为偏移号一般不起作用。只保留页号。基于这个list来设计各种的页面替换算法。
通过模拟一个页面置换的行为并且记录产生页缺失数的数量。一般情况下,产生的缺页次数越少,性能就越高。

相关文章