二叉树左旋 -估计只有自己能看懂

博客围绕数据结构展开,涉及左旋相关内容,但具体细节因内容缺失暂不明确。数据结构是信息技术领域重要基础,左旋操作在其中有特定应用和意义。

通俗易懂的二叉树左旋

	/**				|
	 * 				x
	 * 			   / \
	 * 			  a   y
	 * 				 / \
	 * 				b	c
	 * 左旋  y到x位置  x称为y的左儿子 r还是y的右儿子 b成了b的右儿子
	 * 
	 *    y = x.right
	 * 	  x.right = y.left
	 * 				|
	 * 				x
	 * 			   / 
	 * 			  a   
	 *   	 这时候状态
	 * 				  y
	 * 				 / \
	 * 				c	d
	 * 		if y.left != T.nil        //即y的右儿子不为空
	 * 			y.left.p = x         //设置b的父亲为x
	 * 
	 * 				|
	 * 				x
	 * 			   /| 
	 * 			  a |  
	 *   这时候状态   |
	 * 				|  y
	 * 				|   \
	 * 				c	d
	 * 		y.p = x.p    
	 * 
	 *  			|  \
	 *  			|   \
	 * 				|	 \ 
	 * 				x     \
	 * 			   /|      \
	 * 			  a |       \
	 *   这时候状态   |     	 \
	 * 				|        y
	 * 				|         \
	 * 				c	       d
	 *  虽然y指向了x的父节点但是x还没有改变父亲
	 *  
	 *  if x.p == T.nil   //如果x是根节点
	 *  	T.root = y
	 *  elseif x == x.p.left        //如果x比x的父节点要小
	 *  	x.p.left = y             //就把y放在左边
	 *  
	 *  			  /
	 *  			 /
	 *  			p
	 *  		   /
	 *  		  /
	 *  		 y
	 *  		/ \
	 *  	   /   \
	 *  	   \
	 *  		\	d
	 *  		 \
	 *    		  \
	 *  		   \   
	 * 				|	 
	 * 				x     
	 * 			   /|     
	 * 			  a |      
	 *              |     		 
	 * 				|        
	 * 				|         
	 * 				c	       
	 *  
	 *  
	 *  else x.p.right=y				//如果x在父节点右边  比父节点要打
	 *  y.left = x
	 *  x.p = y
	 *  
	 *   	如果x在父节点右边
	 *   		  p	
	 *   		   \
	 *   			\
	 *  			 y
	 *  			| \
	 *  			|  \
	 *  			|   \
	 * 				|	 \ 
	 * 				x     \
	 * 			   /|      \
	 * 			  a |       \
	 *   	        |     	 \
	 * 				|         \
	 * 				|          \
	 * 				c	        d
	 * 
	 */
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值