数据结构(1)数据结构的分类

一、数据结构的一些常见概念

  • 数据元素:数据的基本单位(又称为记录)
  • 数据项:不可分割的最小标识单位
  • 数据对象:相同类型的数据元素的集合
  • 数据结构:相互之间存在一种或多种特定关系的元素的集合
  • 数据类型:是在程序设计语言中已经实现了的数据结构

那什么是数据结构,它包括:

程序 = 数据结构 + 算法

二、数据的物理结构

存储结构包括两种:顺序存储结构、链式存储结构

  • 顺序存储结构:在底层中用连续地址的存储单元来存储数据,常用数组实现

  • 链式存储结构:用不连续的存储单元存放数据元素,并为每个元素增设指针域,用来指向后继元素,常用链表实现

数组和链表的区别

  • 从逻辑结构来看:数组必须事先定义固定的长度,不能适应数据动态地增减的情况;链表动态地进行存储分配,可以适应数据动态地增减的情况,且可以方便地插入、删除数据项
  • 从内存存储来看:(静态)数组从栈中分配空间(用NEW创建的在堆中), 对于程序员方便快速,但是自由度小;链表从堆中分配空间, 自由度大但是申请管理比较麻烦
  • 从访问方式来看:数组在内存中是连续存储的,因此,可以利用下标索引进行随机访问;链表是链式存储结构,在访问元素的时候只能通过线性的方式由前到后顺序访问,所以访问效率比数组要低

三、数据的逻辑结构

数据的逻辑结构主要分为以下四类:

1.集合2.线性结构3.树形结构4.图形结构
结构中的数据元素之间除了“同属于一个集合”的关系之外,别无其他关系数据元素之间属于“一对一”的关系
常见类型:线性表、栈、队列
结点间具有层次关系,每一层的一个结点能且只能和上一层的一个结点相关,但同时可以和下一层的多个结点相关,称为“一对多”关系
常见类型有:树、堆
在图形结构中,允许多个结点之间相关,称为“多对多”关系

下一篇是线性结构的分类和实现

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值