数据算法之数据结构

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | <br> package com.Lucky.DataStructure; /* 数据结构: 逻辑结构+储存结构+储存结构的运算 逻辑结构分为:线性结构 1:1 树状结构 1:N 网状结构 N:N 储存结构:顺序/链式/索引/散列 */ public class dataDemo { public static void main(String[] args) { /** * 顺序结构:1.在内存中分配连续的空间,每个空间的大小相同,逻辑顺序和物理顺序一致。 * 优点:按照索引查询效率高,查询第N个元素的地址=数组首地址+每个空间的大小*N * 却点:添加,删除需要移动大量的数据,效率低 */ /** * 链式结构:1.在内存中不分配连续的空间,每个空间的大小相同,逻辑顺序和物理顺序不一致。 * 却点 :按照索引查询效率低,只能逐个查询,无法算出地址 * 优点:添加,删除需要不移动大量的数据,效率高,只要改变前后节点的指针【地址】就可以了 */ /* 拓展: 顺序结构or链式结构那个更节省空间????? 解: 1.从空间上讲,顺序结构更加节省空间,因为顺序结构只需要存储数据,不需要存储地址, 而链式结构需要存储数据,也需要存储地址, 2.从实际运用上讲,链式结构更加节省空间,因为顺序结构会事先分配一定空间, 如果储存的数据小于分配的空间,会造成空间的浪费,而链式结构不会,链式结构是有数据才会有节点 按照内容查询,顺序结构or链式结构那个效率高????? 解:那种结构效率都不高,都要逐个比较查询 */ /** * 栈与队列 * 栈:先进后出 * 队列:先进先出 */ } } |
图解:
链表:
栈与队列:
数组:
树:
堆:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)