1.时间复杂度(大O表示法):

    O(1) < O(logn) < O(n) < O(nlogn) < O(n2) < O(n3) < O(2n) < O(n!) < O(nn)

   

  (1)Python中常用数据结构的时间复杂度:

      list内置操作的时间复杂度:          

        

    dict内置操作的时间复杂度:

      

  (2)抽象数据类型(ADT: Abstract Data Type):

    常用数据运算(5种):

       增(插入)

       删(删除)

       改(修改)

       查(查找)

       排序

 

2. 栈的实现:

  (1)栈的表现形式:

     

  (2)栈的操作:

    Stack():    创建一个新的空栈

    push(item):添加一个新元素item到栈顶

    pop():    弹出栈顶元素

    peek():   返回栈顶元素

    is_empty(): 判断栈是否为空

    size():     返回栈的元素个数

  (3)实现栈:    

 class Stack(object):
"""栈的实现"""
def __init__(self):
self.__list = [] # 添加一个新元素item到栈顶
def push(self, item):
self.__list.append(item) # 弹出栈顶元素
def pop(self):
return self.__list.pop() # 返回栈顶元素
def peek(self):
if self.__list:
return self.__list[-1]
else:
return None # 判断栈是否为空
def is_empty(self):
return self.__list == [] # 返回栈的元素个数
def size(self):
return len(self.__list) if __name__ == "__main__":
s = Stack()
s.push(1)
s.push(2)
s.push(3)
s.push(4) print(s.pop())
print(s.pop())
print(s.pop())
print(s.pop())

      运行结果:

      

最新文章

  1. AEAI ESB培训大纲
  2. 设置type为file的input标签选择图片类型
  3. BackTrack 5 开启SSHD服务
  4. SQL server 2012序列号 注册码 z
  5. [Hapi.js] Extending the request with lifecycle events
  6. mediator pattern
  7. 对[UIApplication sharedApplication]理解
  8. NumPy快速入门笔记
  9. poj 2681 字符串
  10. axios请求本地的json文件在打包部署到子目录域名下,路径找不到
  11. 01.pandas
  12. Python第四章(北理国家精品课 嵩天等)
  13. creator rotationY的问题
  14. 初学mybatis和mysql碰到的问题
  15. mongodb管理与安全认证
  16. MVC分部视图@Html.Partial
  17. Python安装常见问题:zipimport.ZipImportError: can&#39;t decompress data; zlib not available 解决办法
  18. 使用NetHogs监控进程网络使用情况
  19. IAR EWARM 关闭纯汇编函数的警告的方法
  20. Java导出引用jar包的文件

热门文章

  1. python---Redis 学习笔记
  2. JAVA 用axis1 调用.NET的web service
  3. Cable master(二分-求可行解)
  4. dom方式解析xml文件的步骤
  5. Linux的基本指令--其他命令
  6. 【bzoj1056】排名系统
  7. the install of mysql in Linux System
  8. 414. Third Maximum Number数组中第三大的数字
  9. 11.BETWEEN 操作符
  10. 数据库连接池DBUtils