iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 21
0
Software Development

One Punch 一拳搞定前後端面試系列 第 21

[One Punch 一拳搞定前後端面試] DAY-21 - Tree 結構

Tree 資料結構

本文同時發布於好讀整理版

Tree 是一種資料結構

tree

Source from wikipedia

最上面會只有一個 Node (節點),每個 Node 會有自己的資料 + 一個 List。這 List 會是他的兒子們(children)。

我們把它橫著看比較好看出它的結構:

tree2

實作 Tree 的 Node

JavaScript 實作

class Node {
  constructor(data) {
    this.data = data;
    this.children = [];
  }

  add(data) {
    const node = new Node(data);
    this.children.push(node);
  }
}

上面的 add() 方法只是來試玩一下如何加入資料到 children 裡面。

Java 實作

public class Node<T> {
    private List<Node<T>> children = new ArrayList<Node<T>>();
    private Node<T> parent = null;
    private T data = null;

    public Node(T data) {
        this.data = data;
    }

    public Node(T data, Node<T> parent) {
        this.data = data;
        this.parent = parent;
    }
}

以上就是 Tree 的 Node 特性,還有他的基本實作。後續章節我們會介紹 Tree 的其他特性與實作。

本文同時發布於好讀整理版


上一篇
[One Punch 一拳搞定前後端面試] DAY-20 - addLast & getAt
下一篇
[One Punch 一拳搞定前後端面試] DAY-22 - Tree 之 Node
系列文
One Punch 一拳搞定前後端面試30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言