7

Từ nào bạn sẽ chọn để gắn nhãn cấp độ ngăn xếp tuyệt đối của một phần tử — nói cách khác là mức độ lồng của nó liên quan đến phần tử gốc/tài liệu?Bạn có gọi nó là cấp độ hoặc chiều sâu không?

Giữa cấpchiều sâu bạn sẽ chọn người nào và tại sao? Những gì thường được sử dụng hoặc ưa thích? Bạn sẽ thấy ít bối rối khi thiếu bối cảnh ý nghĩa?

Tôi đã thử kiểm tra XML specification mà không thành công nhiều.

+0

Để người dùng đề xuất đóng, thuật ngữ này sẽ được sử dụng cho thuộc tính chỉ đọc bằng ngôn ngữ ** lập trình ** tương tự như CSS. Nó khá rõ ràng với tôi rằng nó là về chủ đề ở đây và rằng tôi có thể tìm thấy một người đã viết một cuốn sách về XML hoặc một cái gì đó. – Knu

+0

+1 cho một chủ đề thú vị mà chúng tôi thường không tập trung nhiều trong khi chúng tôi đang sử dụng nó. Chúng tôi chỉ sử dụng nó. – NullPointer

Trả lời

0

Tôi sử dụng cả hai thay thế lẫn nhau. _ __

0

Nếu bạn đang nói về một 'đống', như trong cấu trúc dữ liệu, sau đó chiều sâu là một thuật ngữ được ưu tiên. Từ quan điểm của một tài liệu XML, cả chiều sâu và cấp độ lồng nhau dường như được sử dụng phổ biến. Một cuộc khảo sát nhanh chóng của Google cho thấy khoảng 600.000 kết quả cho 'cấp độ làm tổ xml' và 'chiều sâu làm tổ xml'.

Tôi muốn nói chọn một và gắn với nó một cách nhất quán trong cùng một ngữ cảnh.

7

Để tôi có nghĩa là đi lên, và chiều sâu có nghĩa là đi xuống.

Vì vậy, tôi muốn chọn độ sâu.

Nhưng tôi đã học được một quy tắc: Nếu bạn không thể chọn giữa hai tùy chọn đó là vì cả hai tùy chọn đều tốt như nhau, do đó hãy lật một đồng xu và tiếp tục.

+0

Để tiếp tục xây dựng trên ý tưởng của bạn, chúng tôi có một cây và một gốc do đó cấp có vẻ thích hợp hơn vì nó có nghĩa là chúng tôi đang leo cây. – Knu

+5

Tôi vẫn muốn đi sâu. Nó phổ biến trong CS để làm một *** sâu *** - đầu tiên traversal của một cây. Không ai đề cập đến mức độ cây. –

+0

+1 cho lời giải thích rất hay và +1 cho @OldPro – NullPointer

9

Tôi gọi nó là Depth.

Như chúng ta đã biết, XML là Node based structure.

Chúng ta đều biết rằng trong Cấu trúc dữ liệu, chúng tôi sử dụng cả hai thuật ngữ một cách rộng rãi.

Nếu chúng ta nói về một cấu trúc cây nhị phân, chúng tôi thường nói

Trong đó sâu độ một nút nằm/đặt ở đâu?

Chúng tôi cũng sử dụng thuật ngữ này trong DFS (Chiều sâu tìm kiếm đầu tiên) và BFS (Tìm kiếm đầu tiên rộng). Khi chúng ta đi xuống, chúng ta gọi nó là level depth/down (deep) và khi chúng ta đi lên, chúng ta gọi nó là level up. Vì vậy, level đại diện cho position at specific point nhưng depth đại diện cho How Deep it is. Dưới đây là một đại diện của những gì tôi muốn truyền đạt

Binary Tree Representation

Level representation

Trong XML, nếu chúng ta muốn tìm hiểu các yếu tố đó đang ở một mức độ (chiều sâu) sâu hơn chúng tôi sử dụng descendant. Nó có nghĩa là gì? Chúng tôi đang đề cập đến số depth level của phần tử.

Trong cây nhị phân AVL, thông thường, chúng tôi đếm số level của số Node và dựa trên đó, chúng tôi xoay cây để cân bằng.

Nói cách khác,

Các depth của một nút là độ dài của đường dẫn đến thư mục gốc của nó (ví dụ, đường dẫn gốc của nó) hoặc depth là là khoảng cách tối đa từ bất kỳ node to root.

level của nút là số nút trên đường đi dài nhất từ ​​node to a leaf.

Reference from wikipedia

Nhưng nếu chúng ta nói về cấu trúc XML, thuật ngữ Depth là tốt nhất để đại diện cho các nút XML. Vì vậy, tôi chọn Depth.

Chỉnh sửa: Cảm ơn @Alex về phiên bản có giá trị của anh ấy. Sau khi bổ sung của mình tôi cũng đã chỉnh sửa vài điều để cải thiện câu trả lời.

+1

+1 cho câu trả lời dài nhưng có vẻ như tiếng Anh không phải là tiếng mẹ đẻ của bạn. – Knu

+0

:) Còn lời giải thích thì sao? Nó có ý nghĩa gì với câu hỏi của bạn không? – NullPointer

+0

Nó xác nhận một linh cảm tôi có liên quan đến câu hỏi này: các điều khoản này không tương đương. Nó giúp nhưng tôi không nghĩ rằng bạn sẽ nhận được tiền thưởng, trừ khi ai đó cải thiện câu trả lời của bạn. – Knu

2

Tôi sẽ đi sâu.

Dường như nhiều người sử dụng cấp độ và chiều sâu thay thế nhau. Nhưng trong mức độ hiểu biết của tôi có thể tham khảo cách phần tử gốc một phần tử hoặc phần tử gốc chia sẻ cùng một khoảng cách với phần tử gốc. Để tránh sự mơ hồ này, tôi thích chiều sâu hơn.

Ngoài ra cây thường được trình bày với phần tử gốc của chúng ở trên cùng, như NullVoid cho thấy. Vì bạn có thể coi các phần tử XML là một cây có các nút, chúng ta có một đối số khác để hỗ trợ độ sâu. Điều cuối cùng sẽ là độ sâu hoạt động, vì cách các phần tử XML được biểu diễn trong một tệp XML ;-)

5

Một "cấp" biểu thị cùng độ sâu trong một cây (cấu trúc nhóm). Do đó, chiều sâu là số nguyên thể hiện khoảng cách tương đối từ nút gốc đến bất kỳ nút nào khác.

Vì vậy, tôi sẽ chuyển sang "chiều sâu" làm giá trị tích phân và tất cả các nút có cùng "độ sâu" đều nằm trên một "cấp".

+0

Đây là câu trả lời rõ ràng nhất ngay bây giờ. – Knu

+0

+1 giải thích khái niệm cốt lõi rất ngắn gọn. Thumbs up :) – NullPointer

0

Độ sâu cho một vị trí cụ thể trong cây, mức để đi ngang qua cây. I.e Đi xuống một cấp từ độ sâu 5.

Độ sâu của cấp độ của bạn là bao nhiêu?

Mức độ sâu của bạn là bao nhiêu?

Bạn có bao nhiêu cấp độ từ độ sâu 5?

Bạn có bao nhiêu độ sâu từ cấp 5?

0

mức và chiều cao giống nhau nhưng chiều sâu là khoảng cách tối đa từ bất kỳ nút nào đến gốc ... và ngược lại trong trường hợp chiều cao.

0

Tôi sẽ đi với độ sâu cụm từ.

XML là biểu diễn dạng cây và DOM cũng vậy.

Nếu chúng ta lấy một cây làm ví dụ:
Độ sâu của nút biểu thị #of cạnh giữa nút đó và gốc. Đây là bất biến.
Mặt khác "cấp" là tùy ý. Giá trị cấp được xác định bởi cấp độ nào tôi đặt nút gốc ở (cấp 0 hoặc cấp 1)

Vì bạn đang phát triển ngôn ngữ lập trình, tôi đã cố gắng xem các địa điểm thực sự có Thuộc tính độ sâu cho các nút XML:
1. .NET: XMLTextReader có thuộc tính chiều sâu.
2. Javascript: No Inbuilt thuộc tính độ sâu.