数据结构之前言

数据:是计算机操作对象的总称

数据元素:是数据结构中讨论的基本单位。

数据项:是数据结构中讨论的最小单位。

数据元素可以是数据项的集合。

数据结构:相互之间存在某种逻辑关系的数据元素的集合。

数据结构又分为两类:逻辑结构、存储结构。

逻辑结构:数据之间的逻辑关系。包括:线性结构、树形结构、图状结构、集合结构四种。

  1. 线性结构:有且只有一个开始节点和终端节点;除了开始节点和终端节点,其他节点都有唯一一个直接前驱和直接后继。如线性表中的顺序表、链表、栈等。
  2. 树形结构:有且只有一个开始节点;有多个终端节点;除了开始节点外,其他节点都有唯一一个直接前驱;除了终端节点,其他节点都有一个及其以上的直接后继。如二叉树。
  3. 网状结构:数据元素之间多对多关系,每个节点都有一个及其以上的直接前驱和直接后继。
  4. 集合结构:数据元素除了同属于一个集合外,没有其他关系。

存储结构:数据之间的逻辑结构的计算机实现,是逻辑结构的存储映像。包括:顺序存储、链式存储、索引存储、散列(哈希表)存储四种。

  1. 顺序存储:把数据元素放在地址联系存储单元里,地址的前后顺序就表示了数据元素的逻辑顺序,即:数据之间的逻辑关系和存储关系是一一对应的。
  2. 链式存储:在计算机中用一组任意的存储单元存储数据元素(存储单元可以是是连续的,也可以是不连续的),每一个数据元素包括两部分,一个是数据域,用来存放数据,另一个是指针域,用来存放下一个数据元素的物理地址。

因此:

  1. 同一个逻辑结构可以对应多种存储方式。
  2. 同样的运算,在不同的存储结构中,其实现过程是不同的。
  3. 同一种逻辑结构,有多种逻辑结构表示方法。
  4. 同一种逻辑结构,同一个运算,在不同的存储方式下实现,其运算效率可能不同。
  5. 不同数据结构的逻辑结构可能是相同的。

 数据结构求解问题的过程:

  • 问题描述
  • 设计存储结构
  • 算法设计
  • 算法分析

 算法:为了解决某类问题而规定的一个有限的操作序列。

算法的特性:

  1. 有穷性:有限步骤,有限时间
  2. 确定性:在任何条件下,算法都有唯一一条执行路径
  3. 可行性:可以通过已经实现的基本操作运算有限次实现
  4. 有输入
  5. 有输出

算法设计原则: 

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

时间复杂度:随着问题规模n的增长,算法执行时间的增长率和 f(n)的增长率相同,记为T(n)=O(f(n))。

空间复杂度:随着问题规模的n的增大,算法运行所需要的存储量的增长率和g(n)的增长率相同,记为S(n)=O(g(n))。

时间复杂度和空间复杂度,我可以理解,但是计算上还是不是太理解,所以在这里不展开详细说,后面会补一篇专门的博客。 

我很少写博客,语言组织能力也欠佳,有描述不恰当的地方,欢迎大家提出,共勉之。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值