![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
学习笔记仅供参考
qq_41822751
这个作者很懒,什么都没留下…
展开
-
数据结构:栈、队列、双端队列、优先队列
一、栈Stack特性:先进后出、后进先出时间复杂度:添加和删除元素O(1),查询某个元素O(n)具体实现和常用方法请看栈Java官方文档源码文档示例代码:Stack<Integer> stack = new Stack<>();//创建Stack实例stack.push(1);//在栈顶插入元素stack.push(2);stack.push(3);stack.push(4);System.out.println(stack);//输出栈System.out原创 2020-08-12 18:20:10 · 265 阅读 · 0 评论 -
数据结构:数组、链表、跳表
一、数组ArrayArray底层硬件实现在申请一个数组时计算机会在内存空间中开辟一段连续的地址,每个地址都可以通过内存管理器进行访问,访问第一个元素或中间的任何一个元素时间复杂度都是一样的都为O(1)。它可以进行随机地访问任何一个元素,所有它的访问时间非常快这是数组的特性之一。Array增加删除元素在对一个数组的中间位置增加一个元素时,需要把此下标以及该下标之后的元素向后移动一个位置。因此数组的插入操作的时间复杂度为O(n)。删除一个数组的某个元素时,和数组添加元素类似,先把此元素删除,再把此元素原创 2020-08-12 11:08:44 · 156 阅读 · 0 评论 -
数据结构与算法的常见时间复杂度和空间复杂度
一、时间复杂度时间复杂度经常使用Big O notation来表示。O表示某个时间复杂度是n的怎样的一个函数O(1):Constant Complexity 常数复杂度 。O(log n):Logarithmic Complexity 对数复杂度。O(n):Linear Complexity 线性时间复杂度。O(n^2):N square Complexity 平方。O(n^3):N cube Complexity 立方。O(2^n):Exponential Growth 指数。O(n!)原创 2020-08-12 11:08:03 · 664 阅读 · 0 评论