DSW算法

博主分享了自己在编程过程中对DSW算法的学习心得,特别是对二叉树右旋操作的理解。通过讨论指针和引用的概念,解释了它们如何影响数据结构,并强调了物理过程理解的重要性。此外,博主指出在编程时清晰了解输入和期望输出是避免问题的关键。
摘要由CSDN通过智能技术生成

现在慢慢的喜欢上了编程,也开始写一些二叉树的算法。现在自己的编程功底还不好,一般是先看一下别人的代码在凭自己的理解来写。当然,这肯定离自己的要求还差很远,但是我相信自己慢慢在进步。而且主要是自己已经开始喜欢,那么加油吧!相信一切会更好。今天本来打算写个DSW算法,但是今天一天才完成右旋的工作。主要是对指针和物理过程理解不清楚,其中两者是关联的。主要原因还是归于物理过程不清楚,因此,在后面还需要继续努力。现在把今天写的一点程序总结一下,也算温故而知新吧。

void rotateRight(node *&par,node *&gra)
{//右旋,“功能要明确”。
	if(gra==NULL){
		node *root=par;
		gra=par->lnode;
		par->lnode=gra->rlonde;
		gra->rlonde=root;
		root=gra;
		par=gra;
		gra=NULL;
	}
	else{
		node *ch;
		ch=par->lnode;
		par->lnode=ch->rlonde;
		ch->rlonde=gra->rlonde;
		gra->rlonde=ch;
		par=ch;
	}
}

void  backBone(node  *&root)
{
	node *p;
	node *temp=root;
	while(temp!=0){
		if(temp->lnode!=NULL){
			if(temp==root)//对于根节点,添加的处理
				p=NULL;
			rotateRight(temp,p);
			
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值