00-数据结构与算法

数据结构与算法

什么是数据结构

定义

数据结构没有标准的定义
中文维基百科:数据结构是计算机存储、组织数据的方式。通常情况下,精心选择的数据结构可以带来最优效率的算法

数据结构是数据对象在计算机中的组织方式
数据对象必定与一系列加在其上的操作相关联
完成这些操作的方法就是算法

描述

描述数据结构的方法:抽象数据类型(Abstract Data Type)
数据类型

  • 数据对象集
  • 数据集合相关联的操作集

抽象
描述数据类型的方法不依赖于具体时间线

  • 与存放数据的机器无关
  • 与数据存储的物理结构无关
  • 与实现操作的算法和编程语言均无关

只描述数据对象集合相关操作集是什么,并不涉及如何做到

什么是算法

定义

算法

  • 一个有限指令集
  • 接收一些输入(有些情况下不需要输入)
  • 产生输出
  • 一定在有限步骤之后终止
  • 每一条指令必须
    • 有充分明确的目标,不可以有歧义
    • 计算机能处理的范围之内
    • 描述应不依赖于任何一种计算机语言以及具体的实现手段

什么是好的算法

时间复杂度
时间复杂度跟算法中乘除方法运算的次数相关,加减方法的运算时间可以葫芦不计,所以乘除次数越少的算法时间复杂度月低

空间复杂度
递归方法的空间复杂度是比较高的,是O(f(n)), f(n)是每次递归处理占用的空间数
递归方法在递归层数n比较大的时候,程序会爆掉,没有办法跑出正确的结果

posted @ 2022-09-16 20:59  Oh,mydream!  阅读(68)  评论(0编辑  收藏  举报