diff --git a/b03-数据结构与算法/学习js数据结构与算法.js b/b00-阅读笔记/学习js数据结构与算法/学习js数据结构与算法.js similarity index 100% rename from b03-数据结构与算法/学习js数据结构与算法.js rename to b00-阅读笔记/学习js数据结构与算法/学习js数据结构与算法.js diff --git a/b03-数据结构与算法/学习js数据结构与算法.md b/b00-阅读笔记/学习js数据结构与算法/学习js数据结构与算法.md similarity index 93% rename from b03-数据结构与算法/学习js数据结构与算法.md rename to b00-阅读笔记/学习js数据结构与算法/学习js数据结构与算法.md index 0cc5f1f..3147807 100644 --- a/b03-数据结构与算法/学习js数据结构与算法.md +++ b/b00-阅读笔记/学习js数据结构与算法/学习js数据结构与算法.md @@ -295,6 +295,27 @@ function traveseTree(root, callback) { } ``` +#### 层次遍历(利用队列实现) + +1. 根节点入队 +2. 出队 +3. 如果有左孩子,左孩子入队;如果有右孩子,右孩子入队。 +4. 重复步骤2、3,直到队列为空。 + +```js +function traveseTree(root, callback) { + var queue = []; + if (root == null) return null; + queue.push(root); + while(queue.length) { + var frontNode = queue.shift(); + callback(frontNode); + if (frontNode.left) queue.push(frontNode.left); + if (frontNode.right) queue.push(frontNode.right); + } +} +``` + ### 树的查找 * 最小值:左子树最下边 @@ -346,4 +367,17 @@ function removeNode(node, value) { return node; } } -``` \ No newline at end of file +``` + +### 其他扩展 + +* 红黑树 +* AVL平衡二叉搜索树 + +## 图 + +## 排序和搜索算法 + +## 算法补充知识 + +## 时间复杂度速查表 \ No newline at end of file