学习数据结构,通常都会结合到算法,因为只有通过算法,才能更深切的理解好数据结构。数据结构和算法的关系是相互依赖不可分割的。
本篇先概述下算法基本知识:
其中重要的是掌握效率度量方法,否则难以判断算法的优劣:
简单的总结推导大O阶方法:
1、用常数1取代运行时间中的所有加法常数;
2、在修改后的运行次数函数中,只保留最高阶项;
3、如果最高阶项存在且不是1,则去除与这个项相乘的常数;
常见时间复杂度耗时大小排序:
O(1) < O(logn) < O(n) < O(nlogn) < O(n^2) < O(n^3) < O(2^n) < O(n!) < O(n^n)