Nested Sets
Example - Products
//Adjacency list
List<Product> productList = new List<Product>
{
//Root
new Product() { id = 0, name = "All Products" },
// L1 nodes
new Product() { id = 1, parent = 0, name = "Electronics" },
new Product() { id = 2, parent = 0, name = "Food" },
new Product() { id = 3, parent = 0, name = "Clothing" },
//L2 nodes
new Product() { id = 4, parent = 1, name = "Phones" },
new Product() { id = 5, parent = 1, name = "Televisions" },
new Product() { id = 6, parent = 1, name = "Computers" },
new Product() { id = 7, parent = 2, name = "Frozen" },
new Product() { id = 8, parent = 2, name = "Fresh" },
new Product() { id = 9, parent = 3, name = "Shirts" },
new Product() { id = 10, parent = 3, name = "Pants" },
//L3 nodes
new Product() { id = 11, parent = 4, name = "Samsung" },
new Product() { id = 12, parent = 4, name = "Apple" },
new Product() { id = 13, parent = 4, name = "Windows" },
new Product() { id = 14, parent = 7, name = "Pizza" },
new Product() { id = 15, parent = 7, name = "Vegetables" },
};Class used in this example
SDK
Converting the list
Upline
Downline
Siblings
The Nested Set Node
ID / ParentID
HLevel
Left / Right
NodeNumber
NodeCount
Node
Last updated

