首页 > 其他 > 详细

学习数据结构的第七天(一)

时间:2020-04-02 20:24:46      阅读:59      评论:0      收藏:0      [点我收藏+]

  学到了:1.对于set,有linkedlistset和bstset两种解决办法。

2.对于这个map而言,其实就是相当于set添加了一个元素在里面而已。即:只需要修改结点处的内容即可。

3.对于map,还需要知道一件事情。如果说contains相应的key在里面了,那么就不能进行add的操作。这是对add需要注意的一个点。

 

对于用bst来实现set和map,由于:set和map里面都需要实现的一个较为重要的接口是:remove 

所以 先把bst的remove的实现先学习了。

 

先把removemin和removemax的内涵放在下面:

技术分享图片

 

 对于普通的remove而言:

技术分享图片

 

 技术分享图片

 技术分享图片

 

 

以上是关于在bst里面如何移动元素的最终:

拿被移动元素的左子节点将其进行替换,并且递归调用被移动的节点,直到到达结尾的时候,拿剩余的节点替换,如果是右子节点,那么就拿右子节点放上去。

对于removeMin是把右子节点放上来,并且不需要递归了。原因:递归是因为不知道如何继承了原来的子节点。那么因为是min,导致必定有左子树为空这一点,然后右子树放上来,就不存在继承问题了。

对于第二篇文章,将把removeMin 、removeMax remove操作给真正实现。

学习数据结构的第七天(一)

原文:https://www.cnblogs.com/startFrom0/p/12617298.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!