對於資料結構的印象除了二叉樹好像就沒別的了,所以我從樹這一章切入到資料結構的學習中去。後面遇到易混淆或者重要的基本概念,都可以慢慢增加到這篇文章的後面。
一. 深度和高1.定義:對任意節點ni,ni的深度為從根到ni的唯一路徑的長。
對任意節點ni,ni的高是從ni到一片樹葉的最長路徑的長。
2.特殊情況:根的深度為0,所有樹葉的高都是0。
3.對於樹來說:一棵樹的高等於它的根的高,一棵樹的深度等於它的最深的樹葉的深度。從而得到,一棵樹的高等於這棵樹的深度。
4.理解:首先深度和高這兩個概念都是基於乙個節點提出來的,所謂樹的深度和一棵樹的高,都是後來約定的特殊情況。如果是乙個普通的節點,可以想象它往上去根的長度,就是該節點的深度,往下去樹葉的長度,就是該節點的高。
02演算法的基本概念
演算法的基本概念 是對特定問題求解步驟的一種描述,它是指令的有限系列,其中每條指令表示乙個或多個操作。個人理解 演算法就是對所做的事情的流程進行的一種準確完整的描述,這種描 述是有限的,每條描述包含乙個和多個操作過程。比如 走路的一種特定演算法,先抬左腳,接著左腳向前邁出一定距離,然後左腳落地 隨後...
C 資料結構與演算法系列 一 基本概念
在開始前先提出二個概念 時間複雜度與空間複雜度。時間複雜度是指該演算法的執行時間與問題規模的對應的關係。時間複雜度用t n 0 f n 來表示,其中0表示隨問題規模n的增大,演算法執行時間的增長率和f n 的增 長率相同,如果乙個沒有迴圈的 演算法的執行頻度是不會變的,記作0 1 當演算法中有乙個一...
樹的基本概念
樹的遞迴定義如下 單個結點是一棵樹,樹根就是該結點本身。設t1,t2,tk是樹,它們的根結點分別為n1,n2,nk。用乙個新結點n作為n1,n2,nk的父親,則得到一棵新樹,結點n就是新樹的根。我們稱n1,n2,nk為一組兄弟結點,它們都是結點n的子結點。我們還稱t1,t2,tk為結點n的子樹。空集...