Mysql 三元树中的插入节点
我有一棵三元树 我已经创建了一个表Mysql 三元树中的插入节点,mysql,sql,ternary-tree,Mysql,Sql,Ternary Tree,我有一棵三元树 我已经创建了一个表 CREATE TABLE `user_tree` ( `ID` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(100) NOT NULL, `parent_ID` int(11) NOT NULL, `next_pool` tinyint(1) NOT NULL DEFAULT '0', `last_update` timestamp(6) NOT NULL DEFAULT CURRENT_TIMES
CREATE TABLE `user_tree`
( `ID` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(100) NOT NULL,
`parent_ID` int(11) NOT NULL,
`next_pool` tinyint(1) NOT NULL DEFAULT '0',
`last_update` timestamp(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
PRIMARY KEY (`ID`)) ENGINE=MyISAM AUTO_INCREMENT=23 DEFAULT CHARSET=latin1
如何使用mysql查询在图像中按给定顺序插入节点您必须使用下一个规则集: 步骤1:选择具有空插槽的最小级别编号 步骤2:为该级别选择每个节点的最大空套接字数量 步骤3:为具有以上级别和空套接字数量的节点选择最小id 让我们找出节点30必须连接到的位置 第一步 每个级别的节点数量很容易计算:第一个级别包含1个节点,第二个-3个节点,第三个-9个节点。。。第N-3^N-1个节点。因此,您可以很容易地通过该节点编号计算要插入的节点的级别,例如,如果节点是第30个,则级别1为-1个节点,级别1+2为1+3=4,级别1+2+3为1+3+9=13个节点,级别1+2+3+4为1+3+9+27=40个节点,即节点将位于第4个级别 第二步 如上所述,前13个节点占据1-3层,因此第30个节点将是插入4层的第17个节点。此级别包含9个父节点,因此第17个节点将是其父节点roundUp17/9的第二个节点。它的父母是第三级的第六名,17分9秒 第三步 父节点1和父节点2的级别包含1+3=4个节点。所以第3层的第6个节点是1+3+6=10个节点
总共-节点30必须连接到节点10,并且它将是它的第二个子节点。哪里有数据。在文件中或需要手动创建?我也想知道这些数据的格式:您可以通过树从顶部节点映射到底部分支,然后逐个分支将它们插入到数据库中当我插入新节点时,它应该自动插入以提及给定图像中的位置您如何插入?它是手动的,还是您有任何自动化的过程?下一个池列是什么?谢谢您的解释很好,我只是想知道,是否可以使用您的算法将树的上方扩展到第n级。@Gagandepsing是否可以将树的上方扩展到第n级,使用您的算法,这种方法没有级别限制,可以很容易地扩展。。