二叉查找树转换成有序的双向链表

首先对于二叉查找树的定义和性质,以及如何得到二叉查找树某个节点的子树下的最大值和最小值和插入一个值的内容可以参考这两篇文章:

1http://www.cnblogs.com/chenping-987123/archive/2010/09/25/1834341.html

2http://www.cnblogs.com/chenping-987123/archive/2010/09/26/1836133.html

现在有一个二叉查找树如下所示:

 

insert 9 这个节点的时候

 

然后可以要输出的双向链表为:1 2 3 4 5 6 9 10 12

关于双向链表的知识,在数据结构的书中都有了很好的解释。

具体的程序如下:

BSTreeToList(root);

            Console.WriteLine("********************BSTreeToList***************");

            while (root.left != null)

            {

                root = root.left;

            }

            while (root != null)

            {

                Console.Write(root._value.ToString() + " ");

                root = root.right;

            }

private static void BSTreeToList(MyNode root)

        {

            if (root.left != null)

            {

                BSTreeToList(root.left);

            }

            if (root.right != null)

            {

                BSTreeToList(root.right);

            }

            MyNode max = TreeMax(root.left);

            MyNode min = TreeMin(root.right);

            if (max != null)

            {

                max.right = root;

            }

           root.left = max;

           if (min != null)

           {

               min.left = root;

           }

            root.right = min;

        }

转载于:https://www.cnblogs.com/chenping-987123/archive/2010/10/14/1851077.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/298997.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

就你这个求婚态度,能嫁给你才怪!

1 兄弟!哪有求着婚还走神的?!▼2 喝奶茶专用口罩!▼3 把广东茶楼的菜都点一遍是什么体验?▼4 你觉不觉得这个门锁有点像托马斯的小火车▼5 手里的塑料袋像极了塑料兄弟情▼6 小朋友看《喜羊羊》看到的是坏人的愚…

Remoting and MSMQ 结合做的一个DEMO

真的非常感谢CnBlogs.com,因为有很多教程里写的知识点并不全面,而且也没附带例子.通过这里我学习到了很多很多.希望网站能越办越好哦.下面是我学习分布式开发时写的一个小demo,当然功能有限,技术也很低.希望大师们能拍拍砖,不吝赐教.呵呵软件运行的一个截图下面说说流程吧,1:利…

再聊一次值类型和引用类型

C#值类型,作为函数形参,形参被修改,不影响原值。这是我们在初始学习编程时需要记住的内容,我们也是一直这样践行的。先说结论:这是不准确的。为什么提出这样看似很浅显的问题,是因为有次我在使用ArraySegme…

java+字节码工具64位_jclasslib 下载-jclasslib 32位64位(java字节码查看工具) 5.1 官方版 - 河东下载站...

jclasslib是款免费的开源java字节码的查看工具;它支持进行查看您需要进行使用汉字运用到的Java字节码,并且还拥有一个的类库来让开发者进行读取,包括了修改、对JavaClass文件、字节码的写入等;用户这进行使用的过程中,…

ado filter 多条记录_注意!武汉江南中心绿道武九线综合管廊工程开工,青山区多条道路通行规则有变...

楚天都市报10月29日(记者吴昌华 通讯员 李佳 陈菲)今日记者从武汉交管部门获悉,本周六,10月31日,武汉市江南中心绿道武九线综合管廊工程开始施工,青山区多条道路通行规则有变,部分道路禁止通行。交管部门提供详细绕行建…

深度学习框架再次升级,它们都有什么优点?

全世界只有3.14 % 的人关注了爆炸吧知识经过几年的发展,深度学习方法摧枯拉朽般地超越了传统方法,成为人工智能领域最热门的技术。之后,谷歌、亚马逊、百度、Facebook 纷纷开源了自己的深度学习框架。而支撑AlphaGo的核心技术架构--TensorFlo…

SQL Server 2005的安装,SQL Server 2005系列之一

最近复习SQL Server 2005,忽然有了写系列的打算,也不知道能不能写好,今天先写一篇关于SQL Server 2005的安装的博文吧。和往常一样,我们先来看看SQL Server 2005到底是个什么东西?SQL Server 2005是一种以高性能、高可靠性和可用性…

Quartz - 作业调度框架-插件化开发

背景大部分业务都是基于定时的任务,特别适合使用quartz这类框架解决定时问题。具体quartz的使用,看官方文档就可以了。下面谈谈对quartz插件化的封装。我们使用quartz.plugin。然后在quartz_jobs.xml方法里面定义了schedule,其中灵活的地方在…

cgi备份还原和ghost有什么区别_手动GHOST还原重装系统详细教程

一键重装虽好,但也不是万能的。俗语说:治标不治本。也许你懂得用各种一键备份还原工具重装,但不一定懂得手动GHOST重装。为此,吻妻为大家分享一下如何手动GHOST还原重装系统,本教程步骤虽多,但很多都是点“…

图解一步步安装SharePoint Foundation 2010

图解一步步安装SharePoint Foundation 2010 下载后在Windows Server 2008 R2上进行安装安装产品必须的一些组件,比原来好多了不用自己一个个下了。同意许可,此产品为不收费版本,不用序列号了!!!安装相关的…

MYSQ 查看 2 进制日志

方法 1: myqlbinlog filename; -----------------------------------------------------------------------------------------------------------------------------------------------

当身为老师的爸爸上课时......​

1 当身为老师的爸爸上课时......▼2 气氛突然微妙......▼3 隔壁的一家人都馋哭了!▼4 结束疫情隔离的你▼5 WOW!AMAZING!▼6 女孩子喜欢帅哥是不分年龄的▼‍‍7 单身狗又做错了什么呢?▼你点的每个赞,我都认真当成了喜欢

amos里CFA可行性辨别结果怎么看_论文用问卷调查法,数据分析怎么做?

论文问卷数据的分析,看起来简单,好像每个人都会做。但是做起来还真的有点难度。很多初次使用问卷调查方法的人大多以为,问卷数据分析嘛,无外乎对单选题做做频率分析,看看选择不同的选项的人占比有多少。对于评分题目&a…

Hello Blazor:(10)按需加载JavaScript脚本

前言Blazor支持执行JavaScript脚本,通常是将脚本放在wwwroot/index.html(Blazor WebAssembly)或Pages/_Host.cshtml(Blazor Server)中。但是,这种方式会将所有JS方法用全局函数加载,即使某些方法只需要在特定组件中使用。既影响加载性能&…

只有学霸才懂的学习技巧,看完脑洞大开,绝对涨姿势!

▲ 点击查看法国生物学家乔治.居维叶曾说:“天才,首先是注意力。”事实上,除开那些逆天的天才之外,大部分人的智商,在先天因素的决定下,都是差不多的。但是专注力却可以因为后天的刻意训练,而有…

解析邻居的耳朵音乐地址(单页下载)

偶尔听歌的时候发现了一个很小众的音乐分享网站,邻居的耳朵,有个人的电台类型,属于音乐分享文字分享,觉得很不错。从域名来看,属于多米旗下的网站:http://ear.duomi.com/ 看来多米收购了很多这样的小站&am…

为什么电脑不能打字_嘉兴在线丨「生活经济学」为什么笔记本电脑能在任何国家的供电标准下运作,其他大部分电器却不能?...

【生活热搜】从日本背回来的电饭煲煮饭口感总是不对,用几天就坏了;英国邮回来的吹风机怎么都插不上电源只能闲置……如果你有从国外买家用电器的经历,你一定会发现很多电器因为每个国家或地区的供电标准不同而无法正常使用的情况。但笔记本电…

【DotNetMLLearn】.NET Core 人工智能系列-.NET Interactive环境介绍

在进入.NET Core 的人工智能应用开始前,我们先把环境搭建好,为以后的学习提供一个便利。作为一个.NET 程序员,或者其他编程语言的程序员,相信对IDE的依赖必不可少,如Visual Studio/Visual StudioCode , IntelliJ , Ecl…

php curl https 443,PHP CURL支持HTTP、HTTPS 请求亲测可用

废话就不多说 直接上代码,亲测好用原生:/*** curl发送htpp请求* 可以发送https,http,get方式,post方式,post数据发送*/public function dataRequest($url,$httpstrue,$methodget,$datanull){//初始化curl$ch curl_init($url);//字符串不直接输出&#x…

2020届的毕业生怎么这么苦!

一提到毕业论文我们身上的每个细胞都在告诉自己这件事太麻烦了!每天要思考着选题、开题报告、查资料写稿、排版、答辩、做PPT......除了8000到20000的字数要求完成一篇毕业论文,要依次经历确定论文选题,提交开题报告查阅行业文献,…