数据结构与算法
Code小张
所有的博客都是为了记录自己学习的过程
展开
-
JavaScript中的图
JavaScript中没有图这种数据结构,我们可以使用object和array来实现图的表示(这里使用邻接表表示)const graph = { 0:[1,2],//表示0可以到达1和2 1:[1,2]}图的深度优先遍历访问根节点依对根节点没有访问过的相邻节点进行深度优先遍历let visited = new Set()//使用集合来记录访问过的节点const dfs = (n)=>{ console.log(n)//访问 visited.add(n) graph[n]原创 2020-12-12 11:20:44 · 113 阅读 · 0 评论 -
JS中的集合与字典
集合JS中没有集合这种数据结构,在ES6中,Set就是集合的实现集合的特点:无序且不重复数组与集合的转化:数组转集合:new Set(arr)集合转数组:[…set]集合的作用数组去重(将数组转换为集合再转换为数组)判断某元素是否在集合中(Set有个has方法,可以直接判断)求交集(将其中一个转化为数组,利用数组的filter 方法和Set的has方法)字典ES6中的Map实现了字典字典的特点:无序且唯一,以键值对形式存储字典的操作增 map.set('name','val原创 2020-12-11 20:44:09 · 626 阅读 · 0 评论 -
JavaScript实现二叉树以及先中后序遍历
JS实现二叉树js没有树这个数据结构,使用object实现const tree = { value:'a', left:{vlaue:'b',left:{},right:{}}, right:{vlaue:'b',left:{},right:{}}}对二叉树进行先序遍历访问根节点对左节点进行先序遍历对右节点进行先序遍历const preorder = (root)=>{ if(!root) return console.log(root.value) preorder原创 2020-12-11 11:52:09 · 111 阅读 · 0 评论 -
JavaScript实现树以及对树的常用操作
JS实现树JavaScript没有树这种结构,使用object以及array实现。const tree = { value:'a', children: [ {value'b',children:[]}, {value:'c',children:[]} ]}深度优先遍历访问根节点对根节点的children挨个进行深度遍历const dfs = (root)=>{ if(!root) return console.log(root.value) root.chil原创 2020-12-11 11:35:59 · 475 阅读 · 0 评论