Mengubah data rata ke dalam pokok hierarki
dengan cekap menukar meja rata yang mewakili hierarki pokok ke dalam struktur pokok bersarang adalah cabaran pengaturcaraan yang sama. Algoritma rekursif menawarkan penyelesaian yang elegan dan berkesan.Inilah contoh python yang menunjukkan pendekatan ini:
<code class="language-python"># Initialize the tree as a dictionary tree = {} # Process each row from the flat table for row in table: # Add the node to the tree tree[row['Id']] = { 'name': row['Name'], 'parent_id': row['ParentId'] if row['ParentId'] else None, 'children': [] # Initialize an empty list for children } # Populate the children for each node for node_id, node in tree.items(): if node['parent_id']: tree[node['parent_id']]['children'].append(node_id)</code>
mengoptimumkan penyimpanan pokok dalam pangkalan data relasi
Walaupun set bersarang dan penghitungan jalan adalah pilihan yang berdaya maju, kaedah jadual penutupan memberikan beberapa manfaat untuk menyimpan data hierarki dalam RDBMS:
Atas ialah kandungan terperinci Bagaimanakah Meja Rata yang Mewakili Hierarki Pokok Boleh Dihuraikan dengan Cekap ke dalam Struktur Pokok Bersarang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!