Shen Chaoran


用技术改变世界

前端开发之可访问性

参考 张鑫旭 盲人如何使用互联网的8个误区

Css 之 bfc, ifc, ffc, gfc

FC: Formatting contexts,格式化上下文 BFC:块级格式化上下文 BFC的生成: 既然上文提到BFC是一块渲染区域,那这块渲染区域到底在哪,它又是有多大,这些由生成BFC的元素决定,CSS2.1中规定满足下列CSS声明之一的元素便会生成BFC。 float的值不为...

贪心算法

贪心算法 所谓贪心算法是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的仅是在某种意义上的局部最优解。 贪心算法在应用时要证明 贪心算法的证明围绕着:整个问题的最优解一定由在贪心策略中存在的子问题的最优解得来的。 适用条件 无后效性 ...

数据结构之后缀数组

参考 数据结构之后缀数组 后缀数组

区间调度算法

最多区间个数 贪心算法 arr[[start, end]] 按照 end 排序 从 i = 0 开始,逐个加入区间,如果当前区间和已选择的区间都不重叠,则加入该区间,否则跳过 动态规划 同样的先按照 end 字段排序,dp[i] 表示前 i 个区间的最多区间个数,则有: 初始状态: ...

动态规划

动态规划 通过把原问题分解为相对简单的子问题的方式求解复杂问题的方法。 动态规划常常适用于有重叠子问题和最优子结构性质的问题。 通常许多子问题非常相似,为此动态规划法试图仅仅解决每个子问题一次,从而减少计算量:一旦某个给定子问题的解已经算出,则将其记忆化存储,以便下次需要同一个子问题解之...

分治法


数据结构之堆

优先队列,类似于飞机登机时分为头等舱、商务舱、经济舱。 定义 完全二叉树 最大/小树 实现 用数组实现 建堆:自底向上建堆。从最后一个非叶节点开始调整堆,每次调整保证了该叶节点的子树符合要求,所以最后的堆也符合要求。 插入:插入到数组的最后,然后调整这个叶节点 删除...

数据结构之链表、队列、堆栈


数据结构之图

定义 相关概念和术语 数据结构 class Node { index; value; visited; inDegree; // 入度 outDegree; etv; ltv; ... } class Edge { ...