第三章:查詢與排序(下)----------- 3.15基礎學習_樹、二叉樹、堆排序
樹、二叉樹、堆排序:
對於二叉樹:
①、i 的子節點: 2i+1, 2i+2;
②、i 的父節點: (i-1)/2 。
先序:根、左、右
中序:左、根、右
後序:左、右、根
N個節點的完全二叉樹:樹的高度:log2(N)取下整+1。(PS:根節點為第1層)
#include<iostream>
using namespace std;
int length;
//先序
void preOrder(int arr[],int i){
if(i>=length) return;
cout<<arr[i]<<" ";//先輸出根節點
preOrder(arr,i*2+1);//輸出左子樹
preOrder(arr,i*2+2);//輸出右子樹
}
//中序
void inOrder(int arr[],int i){
if(i>=length) return;
inOrder(arr,i*2+1);//遞迴輸出左子樹
cout<<arr[i]<<" ";//輸出根節點
inOrder(arr,i*2+2);//遞迴輸出右子樹
}
int main(){
int arr[]={78,56,34,43,4,1,15,2,23};
length= 9;
preOrder(arr,0);
cout<<endl;
cout<<"========================"<<endl;
inOrder(arr,0);
return 0;
}
結果:
相關文章
- 深入學習二叉樹 (一) 二叉樹基礎二叉樹
- 二叉查詢樹【二叉排序樹】構建和查詢演算法 PHP 版排序演算法PHP
- 第三章:查詢與排序(下)----------- 3.16堆的概念及堆排序思路排序
- 第三章:查詢與排序(下)----------- 3.21基數排序排序
- 二叉查詢樹
- 手擼二叉樹——二叉查詢樹二叉樹
- 平衡二叉查詢樹:紅黑樹
- 重學資料結構和演算法(二)之二叉樹、紅黑樹、遞迴樹、堆排序資料結構演算法二叉樹遞迴排序
- Python 樹表查詢_千樹萬樹梨花開,忽如一夜春風來(二叉排序樹、平衡二叉樹)Python排序二叉樹
- 二叉查詢樹和笛卡爾樹
- 第三章:查詢與排序(下)----------- 3.20桶排序排序
- 滿二叉樹、完全二叉樹、平衡二叉樹、二叉搜尋樹(二叉查詢樹)和最優二叉樹二叉樹
- 二叉樹路徑查詢二叉樹
- Amazing tree —— 二叉查詢樹
- 第三章:查詢與排序(下)----------- 3.19 計數排序排序
- 二叉查詢樹的插入刪除查詢
- 排序二叉樹和平衡二叉樹排序二叉樹
- 5分鐘瞭解二叉樹之二叉查詢樹二叉樹
- 二叉樹基礎上二叉樹
- 折半查詢排序樹畫圖和排序
- 二叉樹 學習二叉樹
- 【資料結構】查詢結構(二叉排序樹、ALV樹、雜湊技術雜湊表)資料結構排序
- 二叉查詢樹概念及實現
- 二叉查詢樹(查詢、插入、刪除)——C語言C語言
- 資料結構與演算法-二叉查詢樹資料結構演算法
- 第三章:查詢與排序(下)----------- 3.28 特殊排序(利用sort函式)排序函式
- 二叉樹 & 二叉查詢樹 ADT [資料結構與演算法分析 c 語言描述]二叉樹資料結構演算法
- 二叉樹 & 二叉查詢樹 ADT【資料結構與演算法分析 c 語言描述】二叉樹資料結構演算法
- 資料結構 其五 樹與二叉樹學習總結資料結構二叉樹
- JavaScript實現簡單二叉查詢樹JavaScript
- 二叉排序樹 oj 2482排序
- js之排序二叉樹JS排序二叉樹
- 第三章:查詢與排序(下)----------- 3.14 逆序對個數排序
- js實現完全排序二叉樹、二叉搜尋樹JS排序二叉樹
- 『資料結構與演算法』二叉查詢樹(BST)資料結構演算法
- 二叉樹學習筆記二叉樹筆記
- Chapter 3 樹與二叉樹APT二叉樹
- 平衡二叉樹(AVL樹)和 二叉排序樹轉化為平衡二叉樹 及C語言實現二叉樹排序C語言