递归类型 按照编程技巧分啪 一、将复杂问题分解成两个子问题 1、平衡二叉树(LeetCode题库110题) 自上而下:算每个节点的平衡因子(即左右子树的高度差),判断是否满足条件。 可以分成两个子问题:求树的高度,和遍历树判断每个节点的是否满足条件 自下而上:在求深度的过程中,只要有一个子树不满足条 Read More
一、递归问题模板 先解决剩余问题,在缩小规模 function recursion(大规模){ if (end_condition){ // 明确的递归终止条件 end; // 简单情景 }else{ // 在将问题转换为子问题的每一步,解决该步中剩余部分的问题 solve; // 递去 recur Read More
一、顺序栈 二、链栈 存储结构 链栈实现 三、队列 存储结构 链队列 循环队列 这里使用了一个编程的小技巧,将操作打上了记号。 Read More
一、图的基本概念 1、邻接点:对于无向图无v1 与v2之间有一条弧,则称v1与v2互为邻接点;对于有向图而言<v1,v2>代表有一条从v1到v2的弧,则称v2为v1的邻接点。 2、度:就是与该顶点相互关联的弧的个数。 3、连通图:无向图的每个顶点之间都有可达路径,则称该无向图为连通图。有向图每个顶点 Read More