树的遍历 遍历顺序是根据访问父结点的时序确定的 先序遍历 优先访问父结点,然后依次访问左子结点,右子结点 const traverse = (parentNode, callback)=>{ if(parentNode !== null){ // parent node callback(parentNode) // left node tr…
前端算法 常用算法: dfs-深度优先查找, bfs-广度优先查找 数组查找 链表查找 深度优先查找(dfs) 常见场景:多维数组递归查找, 调用栈 递归 递归定义:调用自身函数 条件:递归条件(继续调用自身的条件)、基线条件(不继续递归的条件) 递归优化用法:尾递归 示例 递归 function recursionFun(i) { //基线条件 …
数据结构 链表 定义:head current current.next ,只已知第一节点,通过每个节点里存储下一节点地址的指针,形成线性数据存储关系,不按顺序的存储降低了数据插入/删除的时间复杂度。逻辑上相邻,物理上不相邻。 存储结构:共用存储空间/独立存储空间 特性:善于数据的增删改查,无序存储的数据检索效率比较低 共用存储空间 节点和其他数据…