1️⃣ 二维数据结构

image.png

2️⃣ 代码实现

  1. var arr = new Array(4);
  2. for (let i = 0; i < arr.length; i++) {
  3. arr[i] = new Array(5)
  4. }
  5. console.log(arr);
  6. // [ [ <5 empty items> ], [ <5 empty items> ], [ <5 empty items> ], [ <5 empty items> ] ]

1️⃣ 二维拓扑结构 ( 图 )

拓扑结构只需要考虑连接关系不考虑位置关系
image.png

2️⃣ 代码实现

  1. function Node(value) {
  2. this.value = value;
  3. this.link = [];
  4. }
  5. var a = new Node("a");
  6. var b = new Node("b");
  7. var c = new Node("c");
  8. var d = new Node("d");
  9. var e = new Node("e");
  10. a.link.push(b)
  11. a.link.push(c)
  12. a.link.push(d)
  13. b.link.push(e)
  14. c.link.push(d)
  15. c.link.push(d)
  16. d.link.push(e)
  17. console.log(a);
  18. // Node {
  19. // value: 'a',
  20. // link: [
  21. // Node { value: 'b', link: [Array] },
  22. // Node { value: 'c', link: [Array] },
  23. // Node { value: 'd', link: [Array] }
  24. // ]
  25. // }
  26. console.log(b);
  27. // Node { value: 'b', link: [ Node { value: 'e', link: [] } ] }
  28. console.log(c);
  29. // Node {
  30. // value: 'c',
  31. // link: [
  32. // Node { value: 'd', link: [Array] },
  33. // Node { value: 'd', link: [Array] }
  34. // ]
  35. // }
  36. console.log(d);
  37. // Node { value: 'd', link: [ Node { value: 'e', link: [] } ] }
  38. console.log(e);
  39. // Node { value: 'e', link: [] }