2011-12-27 45 views

Trả lời

27

Dưới đây là một số thư viện mà bạn có thể thấy hữu ích:

arboreal.js, một "vi-thư viện để vượt qua và thao tác cây giống như cấu trúc dữ liệu" trong Node.js và trình duyệt.

buckets, "thư viện cấu trúc dữ liệu đầy đủ, được kiểm tra đầy đủ và được ghi lại tài liệu" bao gồm BST, một đống và một loạt các tính năng khác.

+1

vật sống trên cây Quá xấu dường như không duy trì nữa, 3 yêu cầu kéo chờ đợi 2 năm nay. xô trông thực sự tốt nhưng appart từ bst nó không thực sự cung cấp cấu trúc dữ liệu cây – Overdrivr

+2

TreeModel như được chỉ ra bởi @ JNS có vẻ là lựa chọn tốt nhất. –

+1

Trong một dự án tôi làm việc cho tổ chức phi chính phủ Phi châu Rwandan, cấu trúc cây là một phần quan trọng trong việc theo dõi chi phí và quyên góp (chi phí hoặc tiền đóng góp của bạn thuộc về một loại, thực phẩm, chăm sóc đặc biệt, vv). Dựa trên kinh nghiệm này, tôi đã phát triển [gói nút cây-util] (https://www.npmjs.com/package/tree-util). Tôi hy vọng nó có thể hữu ích khi bạn muốn làm việc với cấu trúc cây. Đặc biệt là nếu bạn liên kết dữ liệu với cấu trúc cây của bạn. –

4

Tôi muốn xem giải pháp đó trước đây, vì các thư viện đó trông hữu ích!

Đây là một trong những tôi đặt cùng nhau đó là một thay thế. Có nghĩa là cho traversal, thao tác và tải các cấu trúc cây phân cấp từ tự tham khảo các bảng phẳng, không phải cho cây nhị phân cân bằng.

DataStructures.Treerelated blog post

22

Hai thư viện để thêm vào danh sách là:

  • t.js - Có vẻ là tốt cho traversal;
  • TreeModel - Thao tác và truyền tải.

từ chối trách nhiệm: Tôi xây dựng TreeModel

4

Tôi không chắc chắn những gì nhu cầu của bạn vì vậy đây là một shot trong bóng tối. Tôi thường sử dụng (đối với trọng lượng nhẹ Javascript) một mảng của mảng, như thế này:

node[i] = [parent, firstChild, secondChild, ... nthChild]; 
2

Thử DOM

var o = document.createElement('WHAT_YOU_WANT') 
// o.appendChild(...) 
+10

Vui lòng thêm một số giải thích về lý do mã này giúp OP. Điều này sẽ giúp cung cấp một câu trả lời tốt. Xem [answer] để biết thêm thông tin. –

+4

Tôi không đồng ý với câu trả lời này. DOM là một cấu trúc cây, tương thích với XML và JSON. Loại bỏ các nút, thêm trẻ em, trẻ em có chứa trẻ em. Thêm một chút CSS và bạn có thể dễ dàng tìm kiếm cấu trúc treeview đẹp mắt. Hơn nữa, câu hỏi không chỉ rõ ngoại hình widget mà họ muốn. –

+0

Đây là câu trả lời hay, tại sao điều này lại được bình chọn? –

0

tôi đã viết một dữ liệu đơn giản hướng thư viện cây gọi data-tree. Bạn có thể sử dụng điều này để tạo, di chuyển và tìm kiếm cây theo kiểu BFS/DFS. Bạn cũng có thể nhập/xuất dữ liệu từ cây. Kiểm tra các tài liệu chi tiết tại địa chỉ: http://cchandurkar.github.io/Data-Tree/

Để sử dụng nó trong một nút npm install data-tree

+0

Yêu cầu đề xuất đối với các tài nguyên hoặc công cụ ngoài trang web không có chủ đề trên Stack Overflow. Nếu bạn trả lời chúng, bạn đặc biệt củng cố niềm tin rằng Stack Overflow là một nơi tốt để trả lời những câu hỏi đó. Không phải vậy. Vui lòng không trả lời những câu hỏi này ngay cả khi bạn biết câu trả lời hay vì hầu hết các câu trả lời sẽ được đánh giá cao ("Cá nhân tôi thích ..."). Bạn có thể mở hộp thoại cờ trên câu hỏi và xem lý do đóng đầy đủ theo danh mục ** off-topic ** hoặc trong [help/on-topic]. Bạn cũng không nên trả lời ngay cả khi nhận xét, vì hiệu ứng cũng tương tự như câu trả lời thực tế. –

+0

@Kyll, cảm ơn vì đã thu hút sự chú ý của tôi. Tôi không muốn củng cố thêm niềm tin như vậy. Nó sẽ là thích hợp nếu tôi xóa câu trả lời của tôi? –

Các vấn đề liên quan