数据结构和算法的基本知识

基本概念及术语

数据:对客观事物的符号表示,指所有能输入到计算机并被计算机程序处理的符号的总称。
数据元素:数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。
数据项:数据不可分割的最小单位。
数据对象:性质相同的数据元素的集合,是数据的一个子集。

1.数据结构

数据结构:是指相互之间存在一种或多种特定关系的数据元素的集合,分为逻辑结构物理结构(存储结构)。

物理结构:

  1. 集合:数据结构中的元素之间除了“同属一个集合” 的相互关系外,别无其他关系。
  2. 线性结构:数据结构中的元素存在一对一的相互关系。
  3. 树形结构:数据结构中的元素存在一对多的相互关系。
  4. 图形结构:数据结构中的元素存在多对多的相互关系。
    在这里插入图片描述

逻辑结构:

  1. 顺序存储结构
  2. 链式存储结构
    在这里插入图片描述

2.数据类型

数据类型是一个值的集合和定义在这个值集上的一组操作的总称,分为原子类型和结构类型。

原子类型:值不可分解,例如C语言中的基本类型(整型,实型,字符型和枚举型)、指针类型和空类型。
结构类型:值是有若干成分按某种结构组成,因此可以分解。例如数组。

抽象数据类型

抽象数据类型是指一个数学模型以及定义在该模型上的一组操作。分为原子类型、固定聚合类型、可变聚合类型。
固定聚合类型:值由确定的数目的成分按某种结构组成。
可变聚合类型:值成分数目不确定。

抽象数据结构的形式定义:在这里插入图片描述

多形数据类型

多形数据类型:值的成分不确定。

算法

算法是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。

1.算法的五个重要特性

  1. 有穷性。
  2. 确定性。
  3. 可行性。
  4. 输入。
  5. 输出。

2.算法设计要求

  1. 正确性。
  2. 可读性。
  3. 健壮性。
  4. 效率与低存储量要求。

3.算法效率的度量

  1. 事后统计。
  2. 事前分析估算。

4.算法的渐进时间复杂度(时间复杂度)

T(n) = O(f(n))

5.算法的空间复杂度

S(n) = O(f(n))

在这里插入图片描述

参考文献 《数据结构》(C语言版) 严蔚敏 吴伟民

发布了1 篇原创文章 · 获赞 6 · 访问量 261

猜你喜欢

转载自blog.csdn.net/weixin_46153942/article/details/103905623