数据结构学习绪论

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据结构学习绪论相关的知识,希望对你有一定的参考价值。

概念

数据的概念

  • 数据元素
    组成数据的最基本单位
  • 数据项
    一个数据由多个数据项组成
  • 数据对象
    性质相同的数据元素组成的集合

数据结构

数据结构:是指数据对象中数据元素之间的关系

逻辑结构

  • 集合结构
    数据元素之间没有特别关系,仅同属于一个集合

  • 线性结构
    数据元素之间是一对一的关系

  • 树形结构
    数据元素之间存在一对多的层次关系

  • 图形结构
    数据元素间是多对多的关系

物理结构

  • 顺序存储
    将数据存储在地址连续的存储单元里面

  • 链式存储
    将数据存储到任意的储存单元里面,通过地址保存的方式找到相关联的数据元素

算法

算法:特定问题求解步骤的描述

算法的特性

  • 正确性
    算法对于合法数据能够得到满足要求的结果;能处理非法输入,得到合理的结果;对于边界数据和压力数据都能得到满足

  • 可读性
    算法要方便阅读、理解和交流

  • 健壮性
    算法不应该产生莫名其妙的结果

  • 性价比
    利用最少的资源得到满足要求的结果

算法和数据结构间关系

程序 = 数据结构 + 算法
算法是为了解决实际问题而存在
数据结构是算法处理问题的载体
数据结构与算法相辅相成,共同解决问题

算法效率的度量

  • 事后统计法
    比较不同算法对同一组输入数据的运行处理时间
    缺陷:不容易准确度量算法的效率

  • 事前分析估算算法
    通过操作数量度量算法的效率

算法的时间复杂度

算法效率主要通过时间复杂度进行判断
大O表示法用于描述算法的时间复杂度,它只关心操作数的最高次项

算法效率的度量

  • 常见时间复杂度的比较
    O(1) < O(log n) < O(n) < O(n*log n) < O(n^2) < O(n^3) < O(2^n) < O(n!) < O(n^n)
    当时间复杂度大于O(n^3)时,即使n的值很小工程上也不接受
    一般在分析算法时,重点考虑在最坏情况下的时间复杂度
    算法重点关心时间复杂度

  • 算法的空间复杂度也适用于大O表示法
    空间换时间策略是开发中常用的策略

以上是关于数据结构学习绪论的主要内容,如果未能解决你的问题,请参考以下文章

机器学习笔记一 绪论

数据结构学习绪论

数据结构学习笔记-----------------绪论

数据结构和算法学习总结01 绪论

数据库系统概论学习笔记-第一章绪论

《机器学习》(西瓜书)笔记--绪论