数据结构与算法
文章平均质量分 91
CCoisini.0202
这个作者很懒,什么都没留下…
展开
-
数据结构:栈的基础知识
数据结构之栈一、什么是栈?二、栈的插入删除操作三、栈的实现1.顺序栈2.链表栈四、栈的应⽤场景一、什么是栈?关于“栈”,有一个非常贴切的例子,就是往枪里面装子弹。装子弹的时候都是从前往后一个一个进;打枪发射子弹的时候,是后装的子弹先出,先进的子弹后出,子弹不能从中间任意出。后进者先出,先进者后出,这就是典型的“栈”结构。栈相对数组和链表貌似只有限制没有任何优势。其实从功能上来说,数组或链表确实可以替代栈,但是存在即合理,每⼀种数据结构都是在特定的使⽤场景下的抽象,⽽且,数组或链表虽然操作上的确灵活⾃由原创 2021-03-16 23:25:26 · 351 阅读 · 0 评论 -
数据结构与算法02-链表的使用与实现
链表的使用与实现一、链表介绍1.链表2. Node节点3. 链表的优缺点二、常用链表1.单链表2.循环链表3.双向链表4.双向循环链表三、⾃定义单向链表1. 设计接⼝2. List接口3. AbstractList类4. MyLinkedList类四、 来一道力扣题吗?1. 题目:删除链表中的节点2. 提示3. 解答五、 总结一、链表介绍动态数组有明显的缺点:可能会造成内存的浪费是否可以⽤多少申请多少内存:链表可以链表是⼀种链式存储的线性表,所有元素的内存地址不⼀定是连续的1.链表头节点原创 2021-03-06 20:33:43 · 362 阅读 · 0 评论 -
数据结构与算法02-数组的自实现ArrayList
数组的自实现ArrayList一、数组介绍1.Java中数组的三种声明2. 优点3. 缺点二、ArrayList自实现(动态数组)1. 需求2. 面对的问题3.动态数组接口设计4. 具体实现一、数组介绍线性表是最基本、最简单、也是最常用的一种数据结构,一个线性表是n个具有相同特性的数据元素的有序数列。其中数组就是一种顺序表,顺序表存储是将数据元素放到一块连续的内存存储空间,相邻数据元素的存放地址也相邻。 生活中的线性表:火车,糖葫芦数组是一种顺序存储的线性表,可以存储多个值,每个元素可以通过索引进行原创 2021-03-01 18:45:35 · 299 阅读 · 1 评论 -
数据结构与算法-01时间复杂度分析
时间复杂度分析数据结构与算法-01时间复杂度分析时间复杂度分析一、思考二、时间复杂度介绍概念总结三、常见时间复杂度与分析技巧1. 常数阶O(1)2. 线性阶O(n)3. 对数阶O(logN)4. 线性对数阶O(nlogN)5. 平方阶O(n^2)6. 其他情况以此类推四、时间复杂度分析技巧五、面试题练手总结一、思考算法(Algorithm) 是指用来操作数据、解决程序问题的一组方法。对于同一个问题,使用不同的算法,也许最终得到的结果是一样的,但在过程中消耗的资源和时间却会有很大的区别。就比如拧一个原创 2021-03-01 00:09:59 · 669 阅读 · 0 评论