数据结构和算法
GavinWGQ
Java高级开发工程师
展开
-
合并两个有序的单链表,合并后的链表依然有序(java)
话不多说,直接上代码public class SignleLinkList { public static void main(String[] args) { Node node1 = new Node(2); Node node3 = new Node(3); node1.next = node3; Node nod...原创 2020-03-10 21:37:35 · 1225 阅读 · 1 评论 -
链式存储中在第i个位置插入或删除的时间复杂度
计算机的数据存储(物理结构)中有两种基本的方式:顺序存储和链式存储。顺序存储指的是用一段地址连续的存储单元依次存储数据;而链式存储中数据元素可以散乱的存储到存储单元中,每一个数据元素中包含数据项和下一个元素的存储地址。通过二者的定义不难看出,顺序存储在查找时的时间复杂度为O(1),因为它的地址是连续的,只要知道首元素的地址,根据下标可以很快找到指定位置的元素,而对与插入和删除操作由于可能要在插入前或原创 2016-12-05 21:12:05 · 14459 阅读 · 2 评论 -
实现循环队列为什么要使用一个空的数据位
队列是在一头插入,在另一头删除的线性表。设顺序存储队列用一维数组q[n]表示,其中n为队列中元素个数,队列中元素在向量中的下标从0到n-1。设队头指针为front,队尾指针是rear,约定front指向队头元素的前一位置,rear指向队尾元素。当front等于-1时队空,rear等于n-1时为队满。由于队列的性质(“删除”在队头而“插入”在队尾),所以当队尾指针rear等于n-1时,若front不等原创 2016-12-07 20:54:32 · 5972 阅读 · 0 评论