关于数据结构的总结(1)

本文概述了数据结构的逻辑结构和物理结构,逻辑结构包括集合、线性、树形和图形结构,而物理结构则分为顺序存储和链式存储。在Java中,虽然没有指针,但通过对象引用实现链式存储结构,对象存储在堆中,引用存放在栈中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  数据结构是什么?数据结构就是数据元素按照一定的关系组织起来的集合,用来组织和存储数据。
  数据结构可以分为逻辑结构和物理结构。
  逻辑结构
  逻辑结构是按照数据元素之间的相互关系分类,它包括集合结构、线性结构、树形结构、图形结构。
  集合结构:集合结构中数据元素除了属于同一个集合外,它们之间没有任何关系。
在这里插入图片描述

  线性结构:数据元素之间存在一对一的关系。
在这里插入图片描述

  树形结构:数据元素之间存在一对多的关系。
在这里插入图片描述

  图形结构:数据元素之间存在多对多的关系。
在这里插入图片描述
  物理结构
  物理结构是逻辑结构在计算机上真正的表示方式,它分为顺序存储结构和链式存储结构。
  顺序存储结构:数据元素之间存放的地址是连续的。
在这里插入图片描述

  链式存储结构:数据元素之间放在任意的存储单元格里,它们可以是连续或不连续的。链式存储结构中引进了指针存放数据元素的地址,通过地址就可以找到相关联的数据元素的位置。
在这里插入图片描述
  那看到这里是否有个疑问?Java中也有LinkList这样的链式存储结构存在,那它是否存在指针呢?
  答案是没有的,但是Java有类似指针的东西,就是对象的引用。
  在Java中,实际上每一个new 语句返回的都是一个对象的引用,故对象是可以在函数中进行传递的,也就是引用传递。所以在Java中,基本类型数据存放在栈中,存放的是数据。而产生对象时,只把对象的引用存放在栈中,用于指向某个对象,对象本身存放在堆中。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值