03_数据结构简介


下面我们通过一个问题来简单介绍数据结构
问题:用Python来保存一个班级的学生信息,要求有一下内容,name , age, hometown。

1、用列表实现:
[
    ("zhangsan", 24, "beijing")
    ("lisi", 24, "beijing")
    ("wangwu", 24, "beijing")
]

如果想取出张三的时候是:

for stu in stus:
    if stu(0) == "zhangsan"

需要遍历每一个列表中的值,这样的时间复杂度是O(n)。

2、用散列表,在Python中就是字典来存储
{
'zhangsan':{'age':24, 'hometown':'beijings'}, 
'lisi':{'age':24, 'hometown':'beijings'},
'wangwu':{'age':24, 'hometown':'beijings'}
}

这时我们取出其中的张三,
stus['zhangsan']
可以直接通过键取出对应的值,时间复杂度为O(1)。
所以,存储同样的数据,使用列表和字典会对你访问数据时候的便捷度产生了不同的结果。

简单介绍内存知识

内存: 真正存储数据并跟CPU打交道的地方

内存是一个连续的存储空间,就像进出超市时候的储物柜,你存个东西,会给你一个小票,这个小票就是寻找你这个储物柜的地址,你通过这个地址来访问这个储物柜。

比如:

0x03 0x04 0x05
0x06 0x07 0x08
0x09 0x10 0x11

当然,现实中的内存地址比这个长的多。


总结:

算法是解决问题的思路, 数据结构是解决的数据是以什么样的方式存在的。

程序 = 数据结构 + 算法

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 关于Mongodb的全面总结 MongoDB的内部构造《MongoDB The Definitive Guide》...
    中v中阅读 32,314评论 2 89
  • 一些概念 数据结构就是研究数据的逻辑结构和物理结构以及它们之间相互关系,并对这种结构定义相应的运算,而且确保经过这...
    Winterfell_Z阅读 6,609评论 0 13
  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 6,346评论 0 10
  • 图像的RGB色彩模式 RGB三个颜色通道的变化和叠加得到各种颜色,其中 R 红色,取值范围,0‐255 G 绿色,...
    夏天才爱睡觉阅读 1,270评论 0 0
  • 关于人工智能的意见,可谓是众说纷纭。有一个共识可能是,人工智能将对未来产生重大影响。我们主要的分歧,在于这种影响的...
    远方的河阅读 707评论 0 1

友情链接更多精彩内容