Java数据结构1——基础

基础

什么是数据结构

互相存在一种或多种关系的数据元素的集合

逻辑结构

  1. 集合 —— 较松散的元素关系
  2. 线性结构 —— 一对一的元素关系
  3. 树结构 —— 一对多的元素关系
  4. 图结构 —— 多对多的元素关系

存储结构

  1. 顺序(数组)
    把逻辑上相邻的元素存储在在物理相邻的存储单元中,结点间的逻辑关系由存储单元的邻接关系实现
  2. 链式(指针或引用类型)
    元素上的逻辑关系通过附设的指针字段实现,不要求物理相邻
  3. 索引(主要针对数据内容的存储,不强调关系,面向查找操作)
    存储节点信息时建立附加的索引表,表中的每一项包含关键字和地址
  4. 散列
    一数据元素的关键字为自变量,通过某个(散列函数)计算出其存储位置

数据的运算

  1. 引用型 —— 不改变数据结构中原有数据元素的状态,仅根据需求读取信息
  2. 加工型 —— 直接加工数据结构中原有的信息状态

算法

  1. 与程序相似但仍有区别:算法是对问题的解法,程序是算法在机器上的特定实现
  2. 特性:有穷性、确定性、可行性、输入、输出
算法的分析 & 度量

【常用 计算时间、所需存储空间】来评价算法的优劣

  1. 时间复杂度
    在这里插入图片描述
  2. 空间复杂度
    算法从运行开始到结束所需要的存储量

包括两个部分:

  • 固定部分 —— 与所需处理的数据无关,主要包括算法所需的代码、常量等
  • 可变部分 —— 与所需处理的数据有关
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值