数据结构和算法 - 概述

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

  • 接口 : 每个数据结构都有一个接口. Interface表示数据结构支持的操作集.界面仅提供支持的操作列表,它们可以接受的参数类型以及返回这些操作的类型.

  • 实施 ;实现提供了数据结构的内部表示.实现还提供了数据结构操作中使用的算法的定义.

数据结构的特征

  • 正确性 : 数据结构实现应正确实现其接口.

  • 时间复杂度 : 运行时间或数据结构操作的执行时间必须尽可能小.

  • 空间复杂度 : 数据结构操作的内存使用应尽可能少.

需要数据结构

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

  • 数据搜索 : 考虑一个商店的100万(10 6 )项目的库存.如果应用程序要搜索某个项目,则每次减慢搜索速度时,它必须搜索100万(10 6 )项目中的项目.随着数据的增长,搜索速度会变慢.

  • 处理器速度 : 处理器速度虽然非常高,但如果数据增长到数十亿条记录,则会受到限制.

  • 多个请求 : 由于成千上万的用户可以在Web服务器上同时搜索数据,因此即使快速服务器在搜索数据时也会失败.

要解决上述问题 - 提到的问题,数据结构来拯救.可以在数据结构中组织数据,使得可能不需要搜索所有项目,并且几乎可以立即搜索所需的数据.

执行时间案例

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

  • 最坏情况 : 这是特定数据结构操作占用最多时间的情况.如果操作的最坏情况时间是ƒ(n),则此操作不会超过ƒ(n)时间,其中ƒ(n)表示n的函数.

  • 平均情况 : 这是描述数据结构操作的平均执行时间的场景.如果一个操作执行时间为ƒ(n),则m次操作将花费mƒ(n)时间.

  • 最佳案例 去;这是描述数据结构操作的最小可能执行时间的场景.如果一个操作在执行中花费了ƒ(n)时间,那么实际操作可能需要花费时间作为最大的随机数ƒ(n).

基本术语

  • 数据 : 数据是值或值集.

  • 数据项 : 数据项是指单个值单位.

  • 组项目 : 分为子项的数据项称为组项.

  • 基本项 : 无法分割的数据项称为基本项目.

  • 属性和实体 : 实体是包含某些属性或属性的实体,可以为其指定值.

  • 实体集 : 具有相似属性的实体形成实体集.

  • 字段 : 字段是表示实体属性的单个基本信息单位.

  • 记录 : 记录是给定实体的字段值的集合.

  • 文件 :  File是给定实体集中实体的记录集合.