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链式结构那个效率高????? 解:那种结构效率都不高,都要逐个比较查询 */ /** * 栈与队列 * 栈:先进后出 * 队列:先进先出 */ } }
图解:
链表:
栈与队列:
数组:
树:
堆:
标签:顺序,地址,查询,算法,链式,空间,数据结构,数据,结构 From: https://www.cnblogs.com/Lucky-only/p/16975619.html