Data Structures Algorithms 简明教程

Data Structures & Algorithms - Overview

What is Data Structure?

Data Structure(数据结构)是一种系统的方式,以便有效利用数据。以下术语是数据结构的基本术语。

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

  2. Implementation - 实现提供了数据结构的内部表示。实现还提供了数据结构操作中使用的算法的定义。

What is Algorithm?

算法是一个循序渐进的过程,它定义了一组按特定顺序执行的指令,以获得所需的输出。算法通常独立于底层语言创建,即算法可以在不止一种编程语言中实现。

Characteristics of a Data Structure

  1. Correctness − 数据结构实现应该正确地实现其接口。

  2. Time Complexity − 数据结构操作的运行时间或执行时间必须尽可能小。

  3. Space Complexity − 数据结构操作的内存使用量应尽可能小。

Execution Time Cases

在三个案例中,通常会以相对方式比较各种数据结构的执行时间。

  1. Worst Case − 在此场景中,特定数据结构操作所需的时间最大。如果一个操作最坏情况时的时间为 ƒ(n),则此操作不会超过 ƒ(n) 时间,其中 ƒ(n) 表示 n 的函数。

  2. Average Case − 此场景描述数据结构操作的平均执行时间。如果一个操作执行需要 ƒ(n) 时间,那么 m 个操作将需要 mƒ(n) 时间。

  3. Best Case − 此场景描述数据结构操作尽可能最短的执行时间。如果一个操作执行需要 ƒ(n) 时间,则实际操作可能花费时间为随机数,最大值将为 ƒ(n)。

Basic DSA Terminologies

  1. Data − 数据是值或值集。

  2. Data Item − 数据项是指单一值单元。

  3. Group Items − 被拆分成较小单元的数据项称为组项。

  4. Elementary Items − 无法拆分的数据项称为基本项。

  5. Attribute and Entity − 实体是包含特定属性或特性的内容,可以分配值。

  6. Entity Set − 类似属性的实体形成实体集。

  7. Field − 字段是表示实体属性的单个基本信息单元。

  8. Record − 记录是由给定实体的字段值集合。

  9. File − 文件是由给定实体集中的实体记录的集合。