数据结构与算法学习

本文介绍了数组的顺序存储结构,特别是二维数组在逻辑和存储层面的组织方式,以及在矩阵运算中的应用。讨论了特殊矩阵如三角矩阵、对称矩阵和对角矩阵的压缩存储策略,提出了线性压缩存储的方法。同时,深入探讨了稀疏矩阵的存储,包括非零元素三元组的概念和线性表、单链表的实现。此外,还简要提及了广义表的深度、特性及其与二叉树的关系。
摘要由CSDN通过智能技术生成


数组和广义表

数组

概述

  1. 数组是顺序存储的随机存储结构,是其他数据结构实现顺序存储结构的基础

二维数组

逻辑结构
存储结构
  1. 二维数组的存储结构是由多个一维数组组合而成的,组合方式有两种
  2. 多维数组都是基于一维数组存储的,因此只能进行赋值、取值两种随机存取操作,不能进行插入、删除操作
  1. 二维数组的顺序存储结构
    采用一维数组连续存储二维数组的所有元素,将若干连续的存储单元在逻辑上划分成多个行/列。
  2. 二维数组的动态存储结构
    二维数组所包含的多个一维数组可以分散存储。一维数组存放多个一维数组的地址。
应用:矩阵运算

特殊矩阵的压缩存储

三角矩阵、对称矩阵、对角矩阵的压缩存储
  1. 线性压缩存储三角矩阵

  2. 使用三角形的二维数组压缩存储三角矩阵

稀疏矩阵的压缩存储

稀疏矩阵非零元素三元组(row行号,column列号,value元素值),(i,j,v)
将问题转换成三元组线性表的存储问题

  1. 稀疏矩阵非零元素三元组
  2. 稀疏数组三元组顺序表
  3. 稀疏数组三元组单链表

广义表

概述

  1. 广义表的深度是指子表嵌套的层数,即表中所含括号的层数,原子的深度为0,空表的深度为1
  2. 广义表的特性
    2.1 线性结构
    2.2 子表嵌套,层次结构
    2.3 包含共享元素
    2.4 可递归

二叉树和树

二叉树

  1. 二叉树的递归定义
  2. 二叉树的术语
  3. 二叉树的性质
  4. 二叉树的抽象数据类型
  5. 二叉树的存储结构
    5.1 二叉树的顺序存储结构
    5.2 二叉树的链式存储结构
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yibodexixi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值