数据结构(八)图
图是什么? 图是网络结构的抽象模型,是一组由边连接的节点 图可以表示任何二元关系,比如道路、航班。 JS中没有图,但是可以用Object和Array构建图 图的表示法:邻接矩阵,邻接表,关联矩阵 { "V1":["V2", "V3", "V4"], "V2": [], "V3": ["V4"], "V4": ["V1"] } 图的常用操作 深度优先遍
图是什么? 图是网络结构的抽象模型,是一组由边连接的节点 图可以表示任何二元关系,比如道路、航班。 JS中没有图,但是可以用Object和Array构建图 图的表示法:邻接矩阵,邻接表,关联矩阵 { "V1":["V2", "V3", "V4"], "V2": [], "V3": ["V4"], "V4": ["V1"] } 图的常用操作 深度优先遍
树是什么? 一种分层数据的抽象模型 前端工作中常见的树包括:DOM树,级联选择、树形控件 JS中没有树,但是可以用Object和Array构建树 树的常用操作:深度/广度优先遍历、先中后序遍历 什么是树的深度/广度优先遍历? 深度优先遍历:尽可能深的搜索树的分支 广度优先遍历:先访问离根节点最近的节点 深度优先遍历算法口诀 访问根节点 对根节点的children挨个进行深度优先遍历 c
字典是什么? 与集合类似,字典也是一种存储唯一值的数据结构,但它是以键值对的形式来存储 ES6中有字典,名为Map 字典的常用操作:键值对的增删改查 const m = new Map(); // 增 m.set('a', 'aa'); // key : value m.set('b', 'bb'); // 删 m.delete('b'); // m.clear(); // 删除所有 /
一、探究背景 近期,工作项目没有那么忙碌了,就对项目组前端的规范进行了重新的审视和修订。其中涉及到有一条,就是如何选定合适的循环方式进行循环。这其中要考虑到性能及所处的场景以及用途。下面我们来一探究竟吧。 二、前端中存在的各种循环 const shapes = ['cicle', 'triangle', 'square', 'ellipse'] 常见for循环有: 普通版for循环【即不带声明
集合是什么? 一种无序且唯一的数据结构 ES6中有集合,名为Set 集合的常用操作:去重,判断某元素是否在集合中,求交集 Coding Part // 去重 const arr = [1,1,2,2]; const arr2 = [...new Set(arr)]; // 判断元素是否在集合中 const set = new Set(arr); const has = set.has(2);