今天主要學習了樹的基本概念以及堆的實現。
樹具備鏈式存儲和順序存儲,可是通常不推薦順序存儲,幾乎都是鏈式存儲。
二叉樹:
特色:度最大爲2;而且具備左右樹之分不能顛倒次序。
n0=n2+1;
n1最多爲一個,
左孩子爲2i+1;
右孩子爲2i+2;
父親節點爲(i-1)/2;算法
堆
堆爲徹底二叉樹,用順序結構存儲,
特色:堆中某個節點的關鍵值老是不大於或不小於其父親節點的值。
堆老是一個徹底二叉樹,
堆的實現 :須要使用向下調整算法,向下調整算法前提是子樹都爲大堆或小堆,因此需由第一個非葉子節點開始調整。ide