第三章:查詢與排序(下)----------- 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;
}
結果:
相關文章
- 二叉查詢樹(二叉排序樹)排序
- 深入學習二叉樹 (一) 二叉樹基礎二叉樹
- 查詢|有序表折半查詢判定樹|二叉排序樹|3階B-樹排序
- 二叉查詢樹【二叉排序樹】構建和查詢演算法 PHP 版排序演算法PHP
- 二叉樹 & 二叉查詢樹二叉樹
- 二叉排序樹查詢,插入,刪除排序
- 第三章:查詢與排序(下)----------- 3.16堆的概念及堆排序思路排序
- #查詢演算法#【2】二叉排序樹演算法排序
- 完全二叉樹實現優先佇列與堆排序二叉樹佇列排序
- 第三章:查詢與排序(下)----------- 3.21基數排序排序
- 查詢二叉樹二叉樹
- 二叉查詢樹
- 手擼二叉樹——二叉查詢樹二叉樹
- 五大經典查詢(1)_二叉排序樹查詢排序
- 平衡二叉查詢樹:紅黑樹
- 二叉查詢樹和笛卡爾樹
- 重學資料結構和演算法(二)之二叉樹、紅黑樹、遞迴樹、堆排序資料結構演算法二叉樹遞迴排序
- Python 樹表查詢_千樹萬樹梨花開,忽如一夜春風來(二叉排序樹、平衡二叉樹)Python排序二叉樹
- 滿二叉樹、完全二叉樹、平衡二叉樹、二叉搜尋樹(二叉查詢樹)和最優二叉樹二叉樹
- 二叉樹路徑查詢二叉樹
- 排序二叉樹和平衡二叉樹排序二叉樹
- 二叉樹基礎上二叉樹
- 5分鐘瞭解二叉樹之二叉查詢樹二叉樹
- 二叉排序樹排序
- 二叉樹 學習二叉樹
- 二叉查詢樹的插入刪除查詢
- 第三章:查詢與排序(下)----------- 3.20桶排序排序
- Amazing tree —— 二叉查詢樹
- 二叉查詢樹的個數
- 折半查詢排序樹畫圖和排序
- 二叉樹的應用(1)--二叉樹排序樹基本操作二叉樹排序
- 第三章:查詢與排序(下)----------- 3.19 計數排序排序
- 二叉查詢樹概念及實現
- C#實現二叉查詢樹C#
- 二叉查詢樹(查詢、插入、刪除)——C語言C語言
- 判斷某棵二叉樹是否二叉排序樹二叉樹排序
- 資料結構 其五 樹與二叉樹學習總結資料結構二叉樹
- B樹(多路查詢樹)