![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
文章平均质量分 91
syc0616
这个作者很懒,什么都没留下…
展开
-
玩转数据结构
数组时间复杂度 将1次resize均摊给2n+1;所以每次addLast操作,进行2次基本操作;均摊时间复杂度O(1) 复杂度震荡 addLast和removeLast操作同时考虑: 在n/2时,这个临界点,扩容和缩容; 解决方案:Lazy 当数组中的数据为实际的1/4时,再进行缩容操作 data.length / 2 != 0 //当数组元素;当data.length等于1时,数组不能分配0个大小; 栈和队列 栈是一种线性结构; 只能从一端添加元素,也只..原创 2021-06-08 07:23:48 · 238 阅读 · 0 评论 -
算法
1.数据结构存储方式:数组(顺序存储)和链表(链式存储) 因为散列表、栈、队列、堆、树、图等这些数据结构都是依赖数组和链表的; 队列、栈:数组实现,有扩容和缩容问题;链表实现,有存储空间问题; 图:两种表示方式:邻接表就是链表;邻接矩阵就是二维数组。 邻接矩阵判断连通性迅速,可进行矩阵运算解决一些问题; 邻接表节省空间,但操作效率比不上邻接矩阵; 散列表:散列函数把键映射到一个大数组里。 树:用数组实现的堆,堆就是一个完全二叉树,用数组存储。 非完全二叉树:链表存储,二叉搜索树、AVL数、红原创 2021-05-04 17:41:49 · 108 阅读 · 0 评论