• <i id='la5Kb'><tr id='la5Kb'><dt id='la5Kb'><q id='la5Kb'><span id='la5Kb'><b id='la5Kb'><form id='la5Kb'><ins id='la5Kb'></ins><ul id='la5Kb'></ul><sub id='la5Kb'></sub></form><legend id='la5Kb'></legend><bdo id='la5Kb'><pre id='la5Kb'><center id='la5Kb'></center></pre></bdo></b><th id='la5Kb'></th></span></q></dt></tr></i><div id='la5Kb'><tfoot id='la5Kb'></tfoot><dl id='la5Kb'><fieldset id='la5Kb'></fieldset></dl></div>

      <small id='la5Kb'></small><noframes id='la5Kb'>

        <legend id='la5Kb'><style id='la5Kb'><dir id='la5Kb'><q id='la5Kb'></q></dir></style></legend>
      1. <tfoot id='la5Kb'></tfoot>
          <bdo id='la5Kb'></bdo><ul id='la5Kb'></ul>

        C++ 中图形问题的邻接表或邻接矩阵哪个更好?

        What is better, adjacency lists or adjacency matrices for graph problems in C++?(C++ 中图形问题的邻接表或邻接矩阵哪个更好?)

          <small id='CLMTP'></small><noframes id='CLMTP'>

          • <bdo id='CLMTP'></bdo><ul id='CLMTP'></ul>
            <legend id='CLMTP'><style id='CLMTP'><dir id='CLMTP'><q id='CLMTP'></q></dir></style></legend>

              <tbody id='CLMTP'></tbody>
            <i id='CLMTP'><tr id='CLMTP'><dt id='CLMTP'><q id='CLMTP'><span id='CLMTP'><b id='CLMTP'><form id='CLMTP'><ins id='CLMTP'></ins><ul id='CLMTP'></ul><sub id='CLMTP'></sub></form><legend id='CLMTP'></legend><bdo id='CLMTP'><pre id='CLMTP'><center id='CLMTP'></center></pre></bdo></b><th id='CLMTP'></th></span></q></dt></tr></i><div id='CLMTP'><tfoot id='CLMTP'></tfoot><dl id='CLMTP'><fieldset id='CLMTP'></fieldset></dl></div>
                  <tfoot id='CLMTP'></tfoot>
                  本文介绍了C++ 中图形问题的邻接表或邻接矩阵哪个更好?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  对于 C++ 中的图形问题,邻接表或邻接矩阵哪个更好?各自的优缺点是什么?

                  What is better, adjacency lists or adjacency matrix, for graph problems in C++? What are the advantages and disadvantages of each?

                  推荐答案

                  这取决于问题.

                  邻接矩阵

                  • 使用 O(n^2) 内存
                  • 查找和检查特定边是否存在的速度很快
                    任意两个节点之间 O(1)
                  • 遍历所有边很慢
                  • 添加/删除节点很慢;复杂的操作 O(n^2)
                  • 添加新边 O(1) 速度很快

                  邻接表

                  • 内存使用更多地取决于边的数量(而更少地取决于节点的数量),
                    如果邻接矩阵稀疏,这可能会节省大量内存
                  • 查找任意两个节点之间是否存在特定边
                    比矩阵 O(k) 稍慢;其中 k 是邻居节点的数量
                  • 迭代所有边的速度很快,因为您可以直接访问任何节点邻居
                  • 添加/删除节点很快;比矩阵表示更容易
                  • 添加新边的速度 O(1)

                  这篇关于C++ 中图形问题的邻接表或邻接矩阵哪个更好?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

                  相关文档推荐

                  How to print vector#39;s data(如何打印矢量的数据)
                  Visual C++ appends 0xCC (int3) bytes at the end of functions(Visual C++ 在函数末尾附加 0xCC (int3) 字节)
                  How to use a variable inside a _T wrapper?(如何在 _T 包装器中使用变量?)
                  MSVC++ warning flags(MSVC++ 警告标志)
                  How to read file which contains uxxxx in vc++(如何在vc++中读取包含uxxxx的文件)
                  stack overflow error in C++ program(C++程序中的堆栈溢出错误)
                  1. <small id='SIxXL'></small><noframes id='SIxXL'>

                    • <bdo id='SIxXL'></bdo><ul id='SIxXL'></ul>
                      <i id='SIxXL'><tr id='SIxXL'><dt id='SIxXL'><q id='SIxXL'><span id='SIxXL'><b id='SIxXL'><form id='SIxXL'><ins id='SIxXL'></ins><ul id='SIxXL'></ul><sub id='SIxXL'></sub></form><legend id='SIxXL'></legend><bdo id='SIxXL'><pre id='SIxXL'><center id='SIxXL'></center></pre></bdo></b><th id='SIxXL'></th></span></q></dt></tr></i><div id='SIxXL'><tfoot id='SIxXL'></tfoot><dl id='SIxXL'><fieldset id='SIxXL'></fieldset></dl></div>
                        <tbody id='SIxXL'></tbody>

                    • <legend id='SIxXL'><style id='SIxXL'><dir id='SIxXL'><q id='SIxXL'></q></dir></style></legend>
                      <tfoot id='SIxXL'></tfoot>