弗洛伊德算法
摘要:用于求取最短路径的长度 基本思想:遍历任意的两点之间,如果经由一个第三点转达的总路径比直达的路径更短,则用这个转达路径的长度取代原有的直达路径长度。每次枚举以一个固定的中转点进行。 核心代码: for(int k=1; i<=n; i++) for(int j=1; j<=n; j++) for(i
阅读全文
树与二叉树的转换
摘要:树转为二叉树:从根开始,将第一个子节点作为左子树,将下一个兄弟节点作为右子树。二叉树转为树:将每个节点的右子树指向自己的父节点
阅读全文
算法复杂度
摘要:算法的五大特征: 有穷性、无二义性、可行性、输入、输出 时间复杂度: T(n)=O(f(n)),f(n)是算法中基本运算的频度。 计算方法:取最高次项 O(1)<O(logn)<O(n)<O(nlogn)<O(n2)<O(n3)<O(2n) 空间复杂度: S(n)=O(g(n)) 算法复杂度的计算:
阅读全文