樹的寬度與高度

2021-08-10 07:54:30 字數 1470 閱讀 5208

// 求二叉樹的深度和寬度.cpp : 定義控制台應用程式的入口點。

#include "stdafx.h"

#include 

#include 

using

namespace

std;  

struct

btnode  

;  //先序建立二叉樹

void

creatbtree(btnode *&root)  

else

}  //求二叉樹的深度

intgetdepth(btnode *proot)  

//  int nleftlength = getdepth(proot->m_left);

//  int nrigthlength = getdepth(proot->m_right);

//  return nleftlength > nrigthlength ? (nleftlength + 1) : (nrigthlength + 1);

return

getdepth(proot->m_left) > getdepth(proot->m_right) ?   

(getdepth(proot->m_left) + 1) : (getdepth(proot->m_right) + 1);  

}  //求二叉樹的寬度

intgetwidth(btnode *proot)  

intnlastlevelwidth = 0;

//記錄上一層的寬度

intntemplastlevelwidth = 0;  

intncurlevelwidth = 0;

//記錄當前層的寬度

intnwidth = 1;

//二叉樹的寬度

queuemyqueue;  

myqueue.push(proot);//將根節點入佇列

nlastlevelwidth = 1;      

btnode *pcur = null;  

while

(!myqueue.empty())

//佇列不空

if(pcur->m_right != null)  

ntemplastlevelwidth--;  

}  ncurlevelwidth = myqueue.size();  

nwidth = ncurlevelwidth > nwidth ? ncurlevelwidth : nwidth;  

nlastlevelwidth = ncurlevelwidth;  

}  return

nwidth;  

}  int

_tmain(

intargc, _tchar* argv)    

執行結果:

CSS 寬度與高度

高度與字型 內聯元素 空格 內聯元素之間 no break space 兩個inline元素之間有任何回車,tab,換行或其他任意字元,都會變成空格。因而導航欄li元素橫排不要使用inline block方法,用float 清除浮動。中文的對齊方式技巧 文字垂直居中 用line height加pad...

二叉樹最大高度與寬度

原題來自維基oi 二叉樹最大寬度與高度 題目描述 給出乙個二叉樹,輸出它的最大寬度和高度.輸入描述 第一行乙個整數n.下面n行每行有兩個數,對於第i行的兩個數,代表編號為i的節點所連線的兩個左右兒子的編號.如果沒有某個兒子為空,則為0.輸出描述 輸出一共三行,分別為前序遍歷,中序遍歷和後序遍歷.編號...

獲取高度寬度

獲取瀏覽器顯示區域 可視區域 的高度 window height 獲取瀏覽器顯示區域 可視區域 的寬度 window width 獲取頁面的文件高度 document height 獲取頁面的文件寬度 document width 瀏覽器當前視窗文件body的高度 document.body hei...