算法:
一种思想,用于编程当中解决问题时解决问题的思路优化。
时间复杂度
程序执行所用的时间,即程序运行中执行多少个基本运算,衡量程序优劣的一个指标,不必很精确,在计算时只需要留下最典型的特征即可,这个最典型的函数就叫这个函数的大O表示法
最坏时间复杂度、最优时间复杂度、平均时间复杂度
最优时间复杂度处在特殊情况下,参考意义不大
最坏时间复杂度是指在此时间之内保证能够完成所有任务
平均时间复杂度是相对比较全面的评价,但不能保证每个程序都能完成
一般而言 先关注最坏时间复杂度,然后是最优时间复杂度,最后是平均时间复杂度
例题:计算这个程序的时间复杂度
list的时间复杂度
重点是index是O(1),append、pop是O(1)
但是pop(i)、insert(i,item)是O(n)
dict时间复杂度
数据结构
最直接的理解就是数据的存储方式
抽象数据类型(ADT)
即定义的对象以及对象所支持的操作放在一起,不需要管是如何实现的