数据结构和算法

数据结构的基本概念和数据

数据

数据是描述客观事物的符号集合,比如描述一张网页。

数据元素

数据元素是组成数据、有一定意义的基本单位。

数据结构

数据结构是指(相互存在一种或多种特定关系的)数据元素的集合。

数据结构的逻辑结构和物理结构

数据结构是计算机存储、组织数据的方式。数据结构包括数据的逻辑结构和数据的物理结构。

逻辑结构

数据元素之间的相互关系。

  • 集合结构
    数据元素除了同属于一个集合外没有任何关系。
  • 线性结构
    线性结构中的数据元素是一对一的关系。
  • 树形结构
    数据元素之间存在一对多的层次关系。
  • 图形结构
    数据元素是多对多的关系。
物理结构

数据的逻辑结构(即存在相互关系的数据元素)在计算机中的存储结构形式。

  • 顺序存储结构
    把数据元素放在地址连续的存储单元里。数组就是一种顺序存储结构。
  • 链式存储结构
    把数据元素放到任意的存储单元里,这组存储单元可以是连续的,也可以是不连续的。数据元素的存储关系并不能反映其逻辑关系,因此需要用指针存放数据元素的地址,这样通过地址就可以找到相关数据元素的位置。
    逻辑结构是面向问题的,物理结构是面向计算机的,其基本目标就是讲数据及逻辑关系存储到计算机的内存中。

算法的定义

解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令表示一个或多个操作。

算法的特性
  1. 输入输出,至少有一个输入。
  2. 有穷性,不会出现无限循环。
  3. 确定性,每一个步骤有确定含义,无二义性。
  4. 可行性,每一个步骤都能通过有限次数完成。
算法的设计要求
  • 正确性
  • 可读性
  • 健壮性,输入数据不合法时,算法也能做相关处理。
  • 高效率和低存储量
算法时间复杂度

语句总的执行次数T(n)是关于问题规模n的函数,算法时间复杂度(O)描述该算法的运行时间。

推导算法时间复杂度

只保留T(n)函数的最高阶项。

    原文作者:hyb很一般
    原文地址: https://www.jianshu.com/p/bb0c5e84882e
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞