一、算法入门

程序设计 = 数据结构 + 算法

算法时为了解决实际问题而设计的,数据结构是算法需要处理的问题载体

数据结构只是静态的描述呢数据元素之间的关系

高效的程序需要再数据结构的基础上设计和选择算法

1. 数据结构

1.1 数据结构存在的意义

如果用Python的类型来保存一个班学生的信息,并如何通过学生姓名快速获取其信息呢?

Python中的列表和字典均可以来存储学生信息。

列表存储:获取一名学生的信息时,就要遍历这个列表,其时间复杂度为O(n);

字典存储:可以将学生姓名作为字典的键,学生信息作为值,查询直接使用键获取值,其时间复杂度为O(1)

明显的字典存储的数据结构数据的处理效率更高,数据存储方式(即数据结构)越优化,算法处理时效率越高。

1.2 数据结构概念

数据结构:数据元素相互之间存在的一种或多种特定关系的集合(数据结构指数据对象中数据元素之间的关系)。数据结构分为逻辑结构和物理结构。

逻辑结构:是指数据对象中数据元素之间的相互关系。

(1)集合结构:数据元素除了同属于一个集合外,没有什么其他关系

(2)线性结构:线性结构中的数据元素之间是一对一的关系

(3)树形结构:元素之间存在一种一对多的层次关系

(4)图形结构:元素是多对多的关系

物理结构:是指数据的逻辑结构在计算机中的存储形式。

(1)顺序存储:把数据元素存放在地址连续的存储单元你,其数据间的逻辑关系和物理关系是一致的

<

python数据的存储结构是指_python数据结构相关推荐

  1. 数据的逻辑结构(线性结构、非线性结构;集合结构、树状结构、网状结构),数据的存储结构(顺序结构、链式结构、索引结构、散列结构)

    数据的逻辑结构 数据的逻辑结构指数据元素之间的逻辑关系(和实现无关). 分类1:线性结构和非线性结构 线性结构:有且只有一个开始结点和一个终端结点,并且所有结点都最多只有一个直接前驱和一个直接后继. ...

  2. 图解图库JanusGraph系列-一文知晓“图数据“底层存储结构(JanusGraph data model)

    图解图库JanusGraph系列-一文知晓"图数据"底层存储结构(JanusGraph data model) 大家好,我是洋仔,JanusGraph图解系列文章,实时更新 图数据 ...

  3. 数据的逻辑结构和数据的存储结构

    1. 数据的逻辑结构 数据的逻辑结构是指数据元素之间的逻辑关系,即从逻辑关系上描述数据.它与数据的存储无关,是独立于计算机的.数据的逻辑结构分为线性结构和非线性结构,线性表是典型的线性结构:集合.树和 ...

  4. 数据的逻辑结构(线性结构、非线性结构;集合结构、线性结构、树状结构、网状结构),数据的存储结构(顺序结构、链式结构、索引结构、散列结构)

    数据的逻辑结构 数据的逻辑结构指数据元素之间的逻辑关系(和实现无关). 分类1:线性结构和非线性结构 线性结构:有且只有一个开始结点和一个终端结点,并且所有结点都最多只有一个直接前驱和一个直接后继. ...

  5. 数据逻辑结构在计算机存储器中的表示称为数据的存储结构

    数据逻辑结构在计算机存储器中的表示称为数据的存储结构(或存储表示),也称为物理结构.通常情况下,同一种逻辑结构可以设计多种存储结构,在不同的存储结构中,实现同一种运算的算法可能不同. 逻辑结构.存储结 ...

  6. datasg中数据的存储结构

    datasg中数据的存储结构 转载于:https://www.cnblogs.com/LoveFishC/archive/2012/07/27/3845623.html

  7. 数据结构的形式定义、数据的逻辑结构、数据的存储结构

    数据结构的形式定义: 数据结构是一个二元组Data_Structures=(D, S),其中,D是数据元素的有限集,S是D上关系的有限集. 说明: 数据结构的定义只说明了数据结构的一个方面,强调的是数 ...

  8. 数据的存储结构有哪些?

    数据的存储结构有哪些? 顺序存储 顺序存储 就是将数据一个接一个的存放,就是挨个存放. 先来后到,类似于我们 "排队" 的一个过程. 链式存储 链式存储 是将每个数据赋予一个节点U ...

  9. 什么是数据结构以及数据结构的存储方式、逻辑结构和存储结构的关系、数据结构的运算、逻辑结构的四种基本类型

    一.什么是数据结构 1.数据结构的起源         数据结构不是研究数值计算的这些是数学家应该研究的问题,它是研究计算机存储.组织数据的方式问题的学科,数据结构会影响算法的效率,合适的数据结构可以 ...

最新文章

  1. oracle 修改默认日期格式_查看MySQL查询计划的方法和格式
  2. 初学视觉学习笔记----用摄像头获取图片
  3. docker中创建redis及在外部使用rdm连接
  4. 一个在线编写前端代码的好玩的工具
  5. 【区间DP】摆渡线路(2017 特长生 T4)
  6. 给出一个正整数 nnn,请你计算从 111 到 nnn 的所有正整数中,有多少个数字的各位数和是 999,Java
  7. [振动力学] 使用能量法求质量矩阵的时候需要注意刚体运动分解
  8. 机器学习是如何改善企业生产力的?(内附机器智能版图)
  9. 设计自己的基于Selenium 的自动化测试框架-Java版(3) - 给框架分分层
  10. 正坐标系及矢量知识,点乘与差乘,旋转
  11. Exynos4412——LCD驱动
  12. python使用什么来体现代码之间的逻辑关系,Python使用缩进来体现代码之间的逻辑关系。...
  13. 校园网认证破解教程(某数字科技学院)
  14. Tinder活号技术在YouTube上面居然有用模拟器和浏览器玩明白了使用谷歌下载的
  15. Tomcat角色说明及配置
  16. MP4文件格式的相关内容
  17. IOS模拟用户触发各种事件
  18. 经典逻辑题:猜牌问题——网上的结论是没问题的
  19. Tiny C Compiler最小的C语言编译器
  20. 2565: 最长双回文串

热门文章

  1. php调用翻译,PHP调用有道词典翻译API实现翻译功能及代码
  2. “天才少年”!华中科技大学这一研究生,刚毕业年薪201万!
  3. 网易云音乐 2.1.0
  4. 主板维修测试软件,主板维修关键测试点(强烈推荐)
  5. 掘金mysql_我的 mysql 半年小得 | 掘金征文
  6. 微信小程序大转盘完整代码
  7. linux sd卡驱动流程图,SD卡驱动(详细介绍,不明白的人可以仔细看看了.有流程图)-转-OpenEdv-开源电子网...
  8. 学习人工智能必读这30本书!
  9. arduino并口屏_零知开源软件库使用-ILI9341并口显示屏
  10. 介质访问控制MAC以及ALOHA协议