随笔分类 -  算法

摘要:(一)字符串题目的特点 ①广泛性 字符串可以看作字符类型的数组,与数组的排序、查找、调整有关 很多其他类型的题可看作字符串类型的题 ②需要掌握的概念 回文 子串(连续) 子序列(不连续) 前缀树(Trie树) 后缀树和后缀数组 匹配 字典序 ③需要掌握的操作 与数组有关的操作:增删改查 字符的替换 阅读全文
posted @ 2018-12-15 09:52 M-M-Monica 阅读(197) 评论(0) 推荐(0)
摘要:(一)栈和队列的基本性质 栈是先进后出的 队列是先进先出的 栈和队列在实现结构上可以有数组和链表两种形式 数组结构实现较容易 用链表结构较复杂,因为牵扯很多指针操作 数组结构实现较容易 用链表结构较复杂,因为牵扯很多指针操作 (二)队列和栈的基本操作 pop操作(栈尾弹出一个元素) push操作(栈 阅读全文
posted @ 2018-12-14 20:56 M-M-Monica 阅读(206) 评论(0) 推荐(0)
摘要:(一)链表和数组都是一种线性结构 数组是一段连续的存储空间 链表空间不一定保证连续,为临时分配 (二)链表的分类 按连接方向 单链表 双链表 按有环无环 普通链表 循环链表 单链表 双链表 普通链表 循环链表 (三)链表问题关键 链表调整函数的返回值类型,根据要求往往是节点类型 处理链表过程中,先采 阅读全文
posted @ 2018-12-13 20:36 M-M-Monica 阅读(138) 评论(0) 推荐(0)
摘要:(一)节点结构 左节点、右节点、节点值(工程上还有指向父节点的指针) (二)复杂度 不管是递归方法还是非递归方法,遍历整棵树的时间复杂度都是O(N),N为二叉树的节点数,额外空间复杂度为O(L),L为二叉树的层数。 (三)遍历(先中后序遍历都有递归和非递归版本,非递归要另外准备栈) 先序遍历:中-- 阅读全文
posted @ 2018-12-12 14:52 M-M-Monica 阅读(230) 评论(0) 推荐(0)
摘要:(一)时间复杂度为O(N²),空间复杂度为O(1)的排序 冒泡排序 选择排序 插入排序 (二)时间复杂度为O(NlogN)的排序 归并排序,空间复杂度为O(N) 快速排序,空间复杂度为O(logN)~O(N) 堆排序,空间复杂度为O(1) 经典堆排序实现使用了递归的方式(函数栈),空间复杂度为O(l 阅读全文
posted @ 2018-12-12 13:52 M-M-Monica 阅读(202) 评论(0) 推荐(0)