算法概述

数据结构是一种组织数据以便有效使用数据的系统方法。以下术语是数据结构的基础术语。

  • 接口 - 每个数据结构都有一个接口。 Interface表示数据结构支持的操作集。接口仅提供支持的操作列表,它们可以接受的参数类型以及返回这些操作的类型。
  • 实现 - 实现提供数据结构的内部表示。 实现还提供了数据结构操作中使用的算法的定义。

 

数据结构的特征

  • 正确性 - 数据结构实现应正确实现其接口。
  • 时间复杂度 - 数据结构的运行时间或操作的执行时间必须尽可能小。
  • 空间复杂性 - 数据结构操作的内存使用应尽可能少。

 

需要数据结构

随着应用程序越来越复杂且数据越来越丰富,应用程序现在面临三个常见问题。

  • 数据搜索 - 考虑 一个商店的100万(10 6)件商品的库存。如果应用程序要搜索项目,则每次减慢搜索速度时,它必须搜索100万(10 6)个项目中的项目。随着数据的增长,搜索速度会变慢。
  • 处理器速度 - 处理器速度虽然非常高,但如果数据增长到数十亿条记录,则会受到限制。
  • 多个请求 - 由于成千上万的用户可以在Web服务器上同时搜索数据,因此即使快速服务器在搜索数据时也会失败。

为了解决上述问题,数据结构得以解决。可以在数据结构中组织数据,使得可以不需要搜索所有项目,并且几乎可以立即搜索所需数据。

 

执行时间案例

有三种情况通常用于以相对方式比较各种数据结构的执行时间。

  • 最坏情况 - 这是特定数据结构操作占用最多时间的情况。 如果操作的最坏情况时间是ƒ(n),那么此操作将不会超过ƒ(n)时间,其中ƒ(n)表示n的函数。
  • 平均情况 - 这是描述数据结构操作的平均执行时间的方案。 如果操作在执行中花费ƒ(n)时间,那么m次操作将花费mƒ(n)时间。
  • 最佳案例 - 这是描述数据结构操作的最少可能执行时间的场景。 如果操作在执行中花费ƒ(n)时间,则实际操作可能花费时间作为最大的随机数作为f(n)。

 

基本术语

  • 数据 - 数据是值或值集。
  • 数据项 - 数据项是指单个值单位。
  • 组项目 - 分为子项目的数据项称为组项目。
  • 基本项目 - 不能分割的数据项称为基本项目。
  • 属性和实体 - 实体是包含某些属性或属性的实体,可以为其指定值。
  • 实体集 - 类似属性的实体形成实体集。
  • Field - Field是表示实体属性的单个基本信息单元。
  • 记录 - 记录是给定实体的字段值的集合。
  • 文件 - 文件是给定实体集中实体的记录的集合。