首页 > 其他分享 >计算机数据结构

计算机数据结构

时间:2023-11-03 20:33:36浏览次数:29  
标签:存储 计算机 元素 内存 数据结构 节点 指针

数据结构

数据结构的物理存储结构只有两种:顺序存储和链式存储(像栈、队列、树、堆、图等都是从逻辑结构去抽象的映射到内存中,也是这两种物理组织形式)。

顺序存储

如数组 连续的固定长度的空间,通过下标就能快速找到。

链式存储

如二叉树、B树等,底层可能是不连续的内存块,随机或是有序分配,既然不连续那么就要用到指针进行存储来关联内存块。

那么节点上的元素值如何存储
既然内存块已经分配完成也关联了。下一步就是节点上的元素值如何存储

链式存储 节点上的元素值如何存储

那么节点上的元素值如何存储 ,既然内存块已经分配完成也关联了。下一步就是元素值,顺序或是随机放,可以 通过计算元素值来决定元素存到哪个节点上。这需要一些算法如hash哈希 借鉴map存储原理中的数组部分或是后续的红黑树部分。

示例 二叉树

Node 代码定义时有四个属性
id(11)、rightNode(右子孩子指针 21)、leftNode(左子孩子指针 31)、value(节点值 66)

这样 下一个例子 节点11 再被分配和存储时 就已经提前将 右子孩子节点、左子孩子节点的内存地址指针存起来了。其实我们只要知道根节点 就可以找到整棵树的所有节点了,因为每个节点都存储下一个节点的指针地址 所以当然能找到了。

 

标签:存储,计算机,元素,内存,数据结构,节点,指针
From: https://www.cnblogs.com/wyy1/p/17808400.html

相关文章

  • 数据结构之链表
    1.简介链表(LinkedList)是一种基本的数据结构,用于表示一组元素,这些元素按顺序排列,每个元素都与下一个元素连接。与数组不同,链表的元素不是在内存中连续存储的,而是通过指针来连接的。链表由节点(Node)组成,每个节点包含两个主要部分:数据和指向下一个节点(或上一个节点,如果是双向链表)的......
  • 数据结构-栈
    一、概念1、栈的定义栈是仅限在表尾进行插入和删除的线性表。栈又被称为后进先出(LastInFirstOut)的线性表,简称LIFO。2、栈顶栈是一个线性表,我们把允许插入和删除的一端称为栈顶3、栈底和栈顶相对,另一端称为栈底二、接口1、可写接口(1)数据入栈栈的插入操作,叫做入栈,也可称为进栈、压......
  • 【数据结构】第一章——绪论(1)
    数据结构的基本概念大家好,今天开始,我将开始从原先的专心学习C语言调整到边学习C语言,边学习数据结构的相关内容。当然,在学习的过程中我也会将各个知识点通过博客记录下来并将自己对知识点的理解分享给大家。本章内容是数据结构的概述,我们可以通过对本章内容的学习,初步了解数据结构的......
  • 基于微信小程序的仓储管理系统_-计算机毕业设计源码+LW文档
    摘 要随着科学研究的不断深入,有关仓储的各种信息量不断成倍增长。面对庞大的信息量,就需要有仓储管理系统来提高管理工作的效率。通过这样的系统,我们可以做到信息的规范管理和快速查询,从而减少了管理方面的工作量。 建立仓储管理系统,进一步提高用户对仓储信息的查询。帮助管理......
  • 图的数据结构及基础算法
    图(Graph)这个数据结构在平时开发中遇到的比较少,但我认为它是十分重要的,因为从真实的世界中来看,很多东西都可以抽象为图的表示,比如人际关系,地理位置,天马行空的东西都可以抽象为图,所以它比链表等基础数据结构高级一点点,也比较复杂,属于非线性结构。数学中有一个图论的分支也是与其有......
  • 查找附近店铺(Redis GEO数据结构实现)
    附近店铺(RedisGEO数据结构实现)GEO数据结构GEO就是Geolocation的简写形式,代表地理坐标。Redis在3.2版本中加入了对GEO的支持,允许存储地理坐标信息,帮助我们根据经纬度来检索数据。常见的命令有:GEOADD:添加一个地理空间信息,包含:经度(longitude)、纬度(latitude)、值(member)GEO......
  • 数据结构笔记
    数据结构刷题笔记Points线段树显然先对\(x\)离散用线段树维护区间最大值,查询在线段树上二分出最小的\(x\)用set维护每个\(x\)对应的\(y\),lower_bound即可......
  • 计算机组成原理-----模型机指令系统寻址方式以及其中部分英语简称介绍
    学校教学中寻址方式有8种,以下是名称与助记符,以及指令流程(以ST为例):1.立即寻址             I  Ri ->MAR,M->MDR->C,Ri+1->Ri           2.寄存器寻址           R3.寄存器简址    ......
  • 2023-2024-1 20231329《计算机程序与设计》第六周学习总结
    作业信息这个作业属于哪个课程https://edu.cnblogs.com/campus/besti/2023-2024-1-CFAP这个作业要求在哪里https://www.cnblogs.com/rocedu/p/9577842.html#WEEK06这个作业的目标计算机科学概论第7章并完成云班课测试《C语言程序设计》第5章并完成云班课测试......
  • 2023-2024-1 20231320 《计算机基础与程序设计》第六周学习总结
    2023-2024-120231320《计算机基础与程序设计》第六周学习总结作业信息这个作业属于哪个课程<班级的链接>(2023-2024-1计算机基础与程序设计)这个作业要求在哪里<作业要求的链接>(2022-2023-1计算机基础与程序设计第六周作业)这个作业的目标<自学《计算机基础与......