用二叉樹實現排序

2021-09-26 08:33:28 字數 1073 閱讀 7435

package com.huang;

public

class

nodetree

;/* 實現 有序二叉樹 */

nodetree nodetree =

newnodetree()

;for

(int i=

0; i) nodetree.

inorder()

;//輸出中序遍歷結果

nodetree.

preorder()

;//前序遍歷

nodetree.

postorder()

;//後序遍歷

}private node root;

public

nodetree()

//把data插入到二叉樹中

public

void

insert

(int data)

else

}//中序遍歷列印節點

public

void

inorder()

//前序遍歷

public

void

preorder()

//後序遍歷

public

void

postorder()

public

class

node

//小於父節點則為左,大於父節點則為右

public

void

add(

int data)

else

}elseif(

this

.data <= data)

else}}

//中續遍歷 左 根 右

public

void

printnode()

system.out.

print

(this

.data +

" -> ");

if(this

.rightnode!=null )}}

}

二叉樹,排序二叉樹

說到二叉樹,這可是資料結構裡面的非常重要的一種資料結構,二叉樹是樹的一種,本身具有遞迴性質,所以基於二叉樹的一些演算法很容易用遞迴演算法去實現。作為一種非線性結構,比起線性結構還是相對複雜的,很多人甚至看不懂演算法的意思,不能理解。其實一開始接觸這些東西還是挺暈的,不過你多看幾遍,上機實現可能你就會...

二叉樹 排序二叉樹的簡單實現

二叉樹 排序二叉樹 include using namespace std 二叉樹的節點 date 資料 left 指向二叉樹的左子樹 right 指向二叉樹的右子樹 template struct node template class btree public btree root null c...

用二叉樹實現Trie樹

1.引言 trie樹是一種快速查詢樹,關於trie樹的特性和優點,這裡就不再羅嗦了,請參照這篇文章 trie樹實現詞典查詢演算法。在此文中,trie樹的實現用的是二十六叉樹,理解起來直觀易懂,演算法也簡單明瞭,但是有乙個致命的弱點,就是浪費空間。特別是在資料規模比較小的情況下,資料稀疏問題表現的特別...