随笔分类 -  数据结构与算法

摘要:一、递归 二、链表天然的递归性 三、递归解决LeetCode中203号问题(删除链表中的节点) 删除链表中等于给定值 val 的所有节点。 示例: 四、递归调用是有代价的 五、更多和链表相关的话题 阅读全文
posted @ 2018-07-10 16:57 小小工匠 阅读(180) 评论(0) 推荐(0)
摘要:使用链表实现队列 阅读全文
posted @ 2018-07-10 14:44 小小工匠 阅读(275) 评论(0) 推荐(0)
摘要:使用链表实现栈 阅读全文
posted @ 2018-07-10 14:38 小小工匠 阅读(2311) 评论(0) 推荐(0)
摘要:一、链表: 二、链表的两种实现: 1.不适用虚拟头节点 不用虚拟头节点在添加元素的操作上要单独考虑在链表的头添加元素。而加了虚拟头节点可以统一处理,关键是要找到要添加节点的前一个节点 2.使用虚拟头节点 (今后所有的链表操作都使用虚拟头节点) 三、链表的增、删、查、改、遍历 四、时间复杂度分析 阅读全文
posted @ 2018-07-10 14:29 小小工匠 阅读(21144) 评论(1) 推荐(0)
摘要:解决数组队列出队时间复杂度是O(n)的问题,由O(n)->O(1) 阅读全文
posted @ 2018-07-09 19:00 小小工匠 阅读(210) 评论(0) 推荐(0)
摘要:1 public interface Queue { 2 3 int getSize(); 4 boolean isEmpty(); 5 void enqueue(E e); 6 E dequeue(); 7 E getFront(); 8 } public class ArrayQueue implements Queue... 阅读全文
posted @ 2018-07-09 18:47 小小工匠 阅读(443) 评论(0) 推荐(0)
摘要:栈的概念 栈的应用 栈的实现 阅读全文
posted @ 2018-07-05 00:09 小小工匠 阅读(702) 评论(0) 推荐(0)
摘要:功能: 1.增、删、改、查 2.扩容、缩容 3.复杂度分析 4.均摊复杂度 5.复杂度震荡 分析动态数组的时间复杂度: 分析resize的时间复杂度: 阅读全文
posted @ 2018-07-04 23:11 小小工匠 阅读(246) 评论(0) 推荐(0)