南京关键词网站排名,中国建盏大师排名表,个人网站规划书模板,苏州吴江太湖新城建设局网站一、概念
数据结构#xff1a;数据存储在内存中的顺序和位置关系#xff0c;选择合适的数据结构能提高内存的利用率。
线性结构链表结构树形结构
二、线性结构
结构优点缺点数组数据呈线性排列#xff0c;初始化时就要指定长度且无法更改#xff0c;会开辟一块连续的内…一、概念
数据结构数据存储在内存中的顺序和位置关系选择合适的数据结构能提高内存的利用率。
线性结构链表结构树形结构
二、线性结构
结构优点缺点数组数据呈线性排列初始化时就要指定长度且无法更改会开辟一块连续的内存空间元素有序可以重复且只能是同一种类型Object类型数组除外。查询快由于元素是存储在一块连续的内存中每个元素的地址值都可以通过索引算出。增删慢由于初始化后长度固定无法更改增删元素只能用一个新的数组去存储。链表数据呈线性排列初始化时无需指定长度节点分散在内存中无须存储在连续的空间内可以随意改变长度由一系列节点每个节点包括数值和指向下一个节点地址的指针组成节点有序可以重复。增删快只需要修改节点指针的指向不需要移动复制节点。查询慢由于节点是分散在内存中的只能从第一个元素开始顺着指针往后一个一个查起。栈数据呈线性排列只能在头部操作元素的存取最后添加的数据最先被取出LIFO。优先获取最新数据。获取旧数据需要先取出新数据。队列数据呈线性排列只能在头部存数据尾部取数据最先添加的数据最先被取出FIFO。优先获取最早数据。获取旧数据需要先取出新数据。Map字典映射Set集合
链表
环形链表尾部节点使用指针指向头部节点将链表变成环形这样就没有了首尾的概念适用于保存固定数量的最新数据。
双向链表在节点使用两个指针这样能从前往后也能从后往前遍历但会增加存储空间增删也会更耗时。
三、树形结构
结构优点缺点堆数据成树形排列自由添加数据但每次都取出最小值。每个节点最多只有两个分支节点排序顺序为从上到下从左到右子节点的值大于父节点。因此最小值存储在顶端增加元素会被放在最后的位置最下面一行从左往右的空位上没有就另起一行然后跟父节点比较父节点更大就互换位置。取出元素后会将最后位置的元素放在顶点然后跟子节点比较子节点更小就互换位置。每次都取出最小值。数据越多越慢树越高增删后位移比较的次数越久。二叉树数据呈树形排列每个节点最多只有两个分支节点排序为父节点的值大于左子树上的所有值小于右子树上的所有值。增加元素从上往下比较小于节点往左移大于节点往右移。取出元素如果没有子节点就直接删掉如果只有一个子节点就直接替代被删除节点的位置如果有两个子节点就用左子树中最大的节点替代即左子树一直往右的那个根节点也能用右子树中最小的值替代右子树最小值最接近左子树最大值且更大所以没问题。查找和新增一样。数据多的时候查找快二分查找法的树形结构体现。数据不均衡朝单侧纵向延伸树变高耗时久。
二叉树
平衡二叉树可以修正形状不均匀的树提高查找效率也可以增加子节点数。子节点数可以自由设定并且形状均衡的树叫B树。