真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

java二叉樹(shù)排序代碼,二叉排序樹(shù)怎么構(gòu)造代碼

java 二叉樹(shù)前序遍歷

//類(lèi)Node定義二叉樹(shù)結(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu);

為恩陽(yáng)等地區(qū)用戶(hù)提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及恩陽(yáng)網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)、恩陽(yáng)網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專(zhuān)業(yè)、用心的態(tài)度為用戶(hù)提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶(hù)的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!

//一個(gè)結(jié)點(diǎn)應(yīng)包含結(jié)點(diǎn)值,左子結(jié)點(diǎn)的引用和右子結(jié)點(diǎn)的引用

class Node{

public Node left; //左子結(jié)點(diǎn)

public Node right; //右子結(jié)點(diǎn)

public int value; //結(jié)點(diǎn)值

public Node(int val){

value = val;

}

}

public class Traversal

{

//read()方法將按照前序遍歷的方式遍歷輸出二叉樹(shù)的結(jié)點(diǎn)值

//此處采用遞歸算法會(huì)比較簡(jiǎn)單,也容易理解,當(dāng)然也可以用

//循環(huán)的方法遍歷,但會(huì)比較復(fù)雜,也比較難懂。二叉樹(shù)遍歷

//用遞歸算法最為簡(jiǎn)單,因?yàn)槊總€(gè)結(jié)點(diǎn)的遍歷方式都是,根,

//左,右,遞歸的調(diào)用可以讓每個(gè)結(jié)點(diǎn)以這種方式遍歷

public static void read(Node node){

if(node != null){

System.out.println(node.value);//輸出當(dāng)前結(jié)點(diǎn)的值

if(node.left != null)

read(node.left); //遞歸調(diào)用 先讀左結(jié)點(diǎn)

if(node.right != null)

read(node.right); //遞歸調(diào)用 后讀右結(jié)點(diǎn)

}

}

public static void main(String[] args){

//初始化5個(gè)結(jié)點(diǎn),分別初始值為1,2,3,4,5

Node n1 = new Node(1);

Node n2 = new Node(2);

Node n3 = new Node(3);

Node n4 = new Node(4);

Node n5 = new Node(5);

//構(gòu)建二叉樹(shù),以n1為根結(jié)點(diǎn)

n1.left = n2;

n1.right = n5;

n2.left = n3;

n2.right = n4;

read(n1);

}

}

注釋和代碼都是我自己寫(xiě)的,如果樓主覺(jué)得有的注釋多余可以自己刪除一些!代碼我都編譯通過(guò),并且運(yùn)行結(jié)果如你提的要求一樣!你只要把代碼復(fù)制編譯就可以了,注意要以文件名Traversal.java來(lái)保存,否則編譯不通過(guò),因?yàn)閙ain函數(shù)所在的類(lèi)是public類(lèi)型的!

java二叉樹(shù)的順序表實(shí)現(xiàn)

做了很多年的程序員,覺(jué)得什么樹(shù)的設(shè)計(jì)并不是非常實(shí)用。二叉樹(shù)有順序存儲(chǔ),當(dāng)一個(gè)insert大量同時(shí)順序自增插入的時(shí)候,樹(shù)就會(huì)失去平衡。樹(shù)的一方為了不讓塌陷,會(huì)增大樹(shù)的高度。性能會(huì)非常不好。以上是題外話。分析需求在寫(xiě)代碼。

import java.util.List;

import java.util.LinkedList;

public class Bintrees {

private int[] array = {1, 2, 3, 4, 5, 6, 7, 8, 9};

private static ListNode nodeList = null;

private static class Node {

Node leftChild;

Node rightChild;

int data;

Node(int newData) {

leftChild = null;

rightChild = null;

data = newData;

}

}

// 創(chuàng)建二叉樹(shù)

public void createBintree() {

nodeList = new LinkedListNode();

// 將數(shù)組的值轉(zhuǎn)換為node

for (int nodeIndex = 0; nodeIndex array.length; nodeIndex++) {

nodeList.add(new Node(array[nodeIndex]));

}

// 對(duì)除最后一個(gè)父節(jié)點(diǎn)按照父節(jié)點(diǎn)和孩子節(jié)點(diǎn)的數(shù)字關(guān)系建立二叉樹(shù)

for (int parentIndex = 0; parentIndex array.length / 2 - 1; parentIndex++) {

nodeList.get(parentIndex).leftChild = nodeList.get(parentIndex * 2 + 1);

nodeList.get(parentIndex).rightChild = nodeList.get(parentIndex * 2 + 2);

}

// 最后一個(gè)父節(jié)點(diǎn)

int lastParentIndex = array.length / 2 - 1;

// 左孩子

nodeList.get(lastParentIndex).leftChild = nodeList.get(lastParentIndex * 2 + 1);

// 如果為奇數(shù),建立右孩子

if (array.length % 2 == 1) {

nodeList.get(lastParentIndex).rightChild = nodeList.get(lastParentIndex * 2 + 2);

}

}

// 前序遍歷

public static void preOrderTraverse(Node node) {

if (node == null) {

return;

}

System.out.print(node.data + " ");

preOrderTraverse(node.leftChild);

preOrderTraverse(node.rightChild);

}

// 中序遍歷

public static void inOrderTraverse(Node node) {

if (node == null) {

return;

}

inOrderTraverse(node.leftChild);

System.out.print(node.data + " ");

inOrderTraverse(node.rightChild);

}

// 后序遍歷

public static void postOrderTraverse(Node node) {

if (node == null) {

return;

}

postOrderTraverse(node.leftChild);

postOrderTraverse(node.rightChild);

System.out.print(node.data + " ");

}

public static void main(String[] args) {

Bintrees binTree = new Bintrees();

binTree.createBintree();

Node root = nodeList.get(0);

System.out.println("前序遍歷:");

preOrderTraverse(root);

System.out.println();

System.out.println("中序遍歷:");

inOrderTraverse(root);

System.out.println();

System.out.println("后序遍歷:");

postOrderTraverse(root);

}

}

找一個(gè)Java程序:關(guān)于二叉樹(shù)的建立和排序

從鍵盤(pán)接受輸入(先序),以二叉鏈表作為存儲(chǔ)結(jié)構(gòu),建立二叉樹(shù)(以先序來(lái)建立)

結(jié)果不是唯一


網(wǎng)站名稱(chēng):java二叉樹(shù)排序代碼,二叉排序樹(shù)怎么構(gòu)造代碼
鏈接分享:http://weahome.cn/article/hcgpoi.html

其他資訊

在線咨詢(xún)

微信咨詢(xún)

電話咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部