2 jintianfree jintianfree 于 2016.01.23 16:43 提问

(1 3 2 17 6 5 4 18 19 10)帮我构建平衡二叉树 10C

1 3 2 17 6 5 4 18 19 10

按照流程一个一个插入 不平衡时 希望看到具体翻转的步骤。

8个回答

caozhy
caozhy   Ds   Rxr 2016.01.24 05:56

图片说明

caozhy
caozhy 第一个图修改下,从上到下是 1 3(左) 2(右)
2 年多之前 回复
caozhy
caozhy   Ds   Rxr 2016.01.24 06:09

图片说明

caozhy
caozhy   Ds   Rxr 2016.01.24 06:15

图片说明

caozhy
caozhy   Ds   Rxr 2016.01.24 06:19

图片说明

Marksinoberg
Marksinoberg   Ds   Rxr 2016.01.24 08:46

这个可以用堆的相关操作优化处理,其实就是不停的选择,比较,建树的过程。当然你还需要有自定义的节点,希望这个思路对你有用哈图片说明

gt2k2
gt2k2   2016.01.23 18:02
enpterexpress
enpterexpress   Rxr 2016.01.23 16:47

图片说明可以查看我的博客按照自己的需求写

jintianfree
jintianfree 回复有_道_是: 没写程序 只是在纸上画 还没画出来 求帮忙画下
2 年多之前 回复
enpterexpress
enpterexpress 你用的递归函数吧,有判断条件的
2 年多之前 回复
jintianfree
jintianfree 在插入最后10时 我始终旋转不出来了 望详细解答
2 年多之前 回复
91program
91program   Ds   Rxr 2016.01.23 17:41
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
算法根据输入的数字输出描述中的效果
输入5,输出: 1 2 3 4 5 16 17 18 19 6 15 24 25 20 7 14 23 22 21 8 13 12 11 10 9 =================================== 输入6,输出: 1 2 3 4 5 6 20 21 22 23 24 7 19 32 33 34 25 8 18 31 36 35 26 9 17 30 29 28 27 10 16 15 14 13 12 11
4858:二维数组输出(2) 分数: 2
题目描述 输入一个整数N,输出一个N行N列的二维矩阵,矩阵中的元素按列用1——N*N顺序填充。 输入格式 一个整数N(N 输出 输出N行N列的矩阵,元素之间用一个空格隔开,行末不要有多余的空格。 样例输入 5样例输出 1 6 11 16 212 7 12 17 223 8 13 18 234 9 14 19 245 10 15 20 25program p4858;va
2016SDAU课程练习一1004
简单题意: 有很多电视节目,已知转播时间表,合理安排,以看更多的电视节目。 输入n,有n行数据,表示每个节目的起始时间和终止时间。 输出最多能看的电视节目数。 样例: 12 1 3 3 4 0 7 3 8 15 19 15 20 10 15 8 18 6 12 5 10 4 14 2 9 0 解题思路形成过程: 读完题意意识到这是贪心算法实现的。 将每个电视节目的起始
[JLOI2011]不重复数字
Description 给出N个数,要求把其中重复的去掉,只保留第一次出现的数。 例如,给出的数为1 2 18 3 3 19 2 3 6 5 4,其中2和3有重复,去除后的结果为1 2 18 3 19 6 5 4。 Input 输入第一行为正整数T,表示有T组数据。 接下来每组数据包括两行,第一行为正整数N,表示有N个数。第二行为要去重的N个正整数。
datetime.datetime(2014, 1, 23, 21, 6, 37) is not JSON serializable
class MyEncoder(json.JSONEncoder):     def default(self, obj):         if isinstance(obj, datetime.datetime):             return obj.strftime('%Y-%m-%d %H:%M:%S')         elif isinst
现有杂乱无序的1-20二十个数,这二十个数为:1,18,4,13,6,10,15,2,17,3,19,7,16,8,11,14,9,12,5,20,试依次求出相邻四个数之和的最大和最小值
思路:将相邻的4个数分别求和,放入数组中,在对这个数组元素进行比较找出max和min 代码: #include main() { int a[21]={1,18,4,13,6,10,15,2,17,3,19,7,16,8,11,14,9,12,5,20}; int i,j=0,k=0,max,min,b[30],c[30]; for (i=0;i<17;i++) { b[j++]
codeup27972 迂回方阵
codeup27972  迂回方阵时空限制    1000ms/128MB题目描述输入整数N,输出相应方阵。输入一个整数N。( 0 &amp;lt; n &amp;lt; 20 )输出一个方阵,每个数字的场宽为4。样例输入5样例输出 17 18 19 20 21 10 11 12 13 22 5 6 7 14 23 2 3 8 15 24 1 4...
【HUSTOJ】1060: 数字走向V
1060: 数字走向V Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 41  Solved: 38 [Submit][Status][Web Board] Description 输入整数N,输出相应方阵。 Input 一个整数N。( 0 Output 一个方阵,每个数字的场宽为3。
求1!+2!+3!+4!+5!+6!+7!+8!+9!+10!的值
对于此道编程题,一般的做法是写两个循环,大循环是1到10的阶乘之和,小循环是各个阶乘的计算,代码如下#include&amp;lt;stdio.h&amp;gt;#include&amp;lt;stdlib.h&amp;gt;int main(){ int i = 0; int j = 0; int mul = 1;                    int sum = 0; for (i = 1; i &amp;lt;= 10; ...
螺旋矩阵(由外自内旋转)
如矩阵: 1 2 3 4 5 16 17 18 19 6 15 24 25 20 7 14 23 22 21 8 13 12 11 10 9 找出规律,并打印出一个N*N的矩阵;规律就是从首坐标开始顺时针一次增大。(题目出自程序员面试宝典第三版) 注:由于觉得书上的程序比较的复杂因此使用自己的方法。 //_OUTSIDESPIN.H_ #ifndef