「java数据结构参考答案」数据结构教程java语言描述答案

博主:adminadmin 2022-11-30 01:57:05 67

今天给各位分享java数据结构参考答案的知识,其中也会对数据结构教程java语言描述答案进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

求数据结构(JAVA版)实验树和二叉树题目答案

/**

* @param args

之前在大学的时候写的一个二叉树算法,运行应该没有问题,就看适不适合你的项目了 */

public static void main(String[] args) {

BiTree e = new BiTree(5);

BiTree g = new BiTree(7);

BiTree h = new BiTree(8);

BiTree l = new BiTree(12);

BiTree m = new BiTree(13);

BiTree n = new BiTree(14);

BiTree k = new BiTree(11, n, null);

BiTree j = new BiTree(10, l, m);

BiTree i = new BiTree(9, j, k);

BiTree d = new BiTree(4, null, g);

BiTree f = new BiTree(6, h, i);

BiTree b = new BiTree(2, d, e);

BiTree c = new BiTree(3, f, null);

BiTree tree = new BiTree(1, b, c);

System.out.println("递归前序遍历二叉树结果: ");

tree.preOrder(tree);

System.out.println();

System.out.println("非递归前序遍历二叉树结果: ");

tree.iterativePreOrder(tree);

System.out.println();

System.out.println("递归中序遍历二叉树的结果为:");

tree.inOrder(tree);

System.out.println();

System.out.println("非递归中序遍历二叉树的结果为:");

tree.iterativeInOrder(tree);

System.out.println();

System.out.println("递归后序遍历二叉树的结果为:");

tree.postOrder(tree);

System.out.println();

System.out.println("非递归后序遍历二叉树的结果为:");

tree.iterativePostOrder(tree);

System.out.println();

System.out.println("层次遍历二叉树结果: ");

tree.LayerOrder(tree);

System.out.println();

System.out.println("递归求二叉树中所有结点的和为:"+getSumByRecursion(tree));

System.out.println("非递归求二叉树中所有结点的和为:"+getSumByNoRecursion(tree));

System.out.println("二叉树中,每个节点所在的层数为:");

for (int p = 1; p = 14; p++)

System.out.println(p + "所在的层为:" + tree.level(p));

System.out.println("二叉树的高度为:" + height(tree));

System.out.println("二叉树中节点总数为:" + nodes(tree));

System.out.println("二叉树中叶子节点总数为:" + leaf(tree));

System.out.println("二叉树中父节点总数为:" + fatherNodes(tree));

System.out.println("二叉树中只拥有一个孩子的父节点数:" + oneChildFather(tree));

System.out.println("二叉树中只拥有左孩子的父节点总数:" + leftChildFather(tree));

System.out.println("二叉树中只拥有右孩子的父节点总数:" + rightChildFather(tree));

System.out.println("二叉树中同时拥有两个孩子的父节点个数为:" + doubleChildFather(tree));

System.out.println("--------------------------------------");

tree.exChange();

System.out.println("交换每个节点的左右孩子节点后......");

System.out.println("递归前序遍历二叉树结果: ");

tree.preOrder(tree);

System.out.println();

System.out.println("非递归前序遍历二叉树结果: ");

tree.iterativePreOrder(tree);

System.out.println();

System.out.println("递归中序遍历二叉树的结果为:");

tree.inOrder(tree);

System.out.println();

System.out.println("非递归中序遍历二叉树的结果为:");

tree.iterativeInOrder(tree);

System.out.println();

System.out.println("递归后序遍历二叉树的结果为:");

tree.postOrder(tree);

System.out.println();

System.out.println("非递归后序遍历二叉树的结果为:");

tree.iterativePostOrder(tree);

System.out.println();

System.out.println("层次遍历二叉树结果: ");

tree.LayerOrder(tree);

System.out.println();

System.out.println("递归求二叉树中所有结点的和为:"+getSumByRecursion(tree));

System.out.println("非递归求二叉树中所有结点的和为:"+getSumByNoRecursion(tree));

System.out.println("二叉树中,每个节点所在的层数为:");

for (int p = 1; p = 14; p++)

System.out.println(p + "所在的层为:" + tree.level(p));

System.out.println("二叉树的高度为:" + height(tree));

System.out.println("二叉树中节点总数为:" + nodes(tree));

System.out.println("二叉树中叶子节点总数为:" + leaf(tree));

System.out.println("二叉树中父节点总数为:" + fatherNodes(tree));

System.out.println("二叉树中只拥有一个孩子的父节点数:" + oneChildFather(tree));

System.out.println("二叉树中只拥有左孩子的父节点总数:" + leftChildFather(tree));

System.out.println("二叉树中只拥有右孩子的父节点总数:" + rightChildFather(tree));

System.out.println("二叉树中同时拥有两个孩子的父节点个数为:" + doubleChildFather(tree));

}

}

JAVA数据结构与算法

给你写了答案如下,有问题再追问。

B

A

C

确切性

3

infexOf

队头指针指向队尾

顺序表:查找方便,但插入困难;

链表:查找困难,但插入方便。

// 最大值

public static int getMax(int n, int[] arr) {//n是数组最后一个元素的index

if(n == 0)

return arr[0];

if(arr[n]  getMax(n - 1, arr))

return arr[n];

return getMax(n - 1, arr);

}

// 平均值

public static int getAverage(int n, int[] arr) {//n是数组最后一个元素的index

if(n == 1)

return arr[0];

return (arr[n] + getAverage(n - 1, arr) * (n - 1)) / n;

}

//删除节点

public static Node rmNode(Node head, Node node) {

Node temp = head;

while(temp.next != null) {

if(temp.next == node) {

temp.next = node.next;

break;

}

else

temp = temp.next;

}

return head;

}

// 数组元素逆置

public static int[] inverseArray(int[] arr) {

int start = 0;

int end = arr.length - 1;

for(; start  arr.length / 2; start++, end--) {

int temp = arr

今天给各位分享java数据结构参考答案的知识,其中也会对数据结构教程java语言描述答案进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

;

arr

今天给各位分享java数据结构参考答案的知识,其中也会对数据结构教程java语言描述答案进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

 = arr

关于java数据结构参考答案和数据结构教程java语言描述答案的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

;

arr

关于java数据结构参考答案和数据结构教程java语言描述答案的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

 = temp;

}

return arr;

java 数据结构题

①:用HashSet(无需不重复)类的addAll方法来实现,

package com.golden.util;

import java.util.Collection;

import java.util.HashSet;

public class Test {

      public static void main(String[] args) {

        CollectionInteger a = new HashSetInteger();

        a.add(3);

        a.add(5);

        a.add(8);

        a.add(11);

        CollectionInteger b = new HashSetInteger();

        b.add(2);

        b.add(6);

        b.add(8);

        b.add(9);

        b.add(11);

        b.add(15);

        b.add(20);

        a.addAll(b);

       for(int temp:a){

           System.out.println(temp);

       }

    }

}

②:或者用AU(B-A)的方法,对应的就是ArrayList的removeAll,addAll方法

package com.golden.util;

import java.util.ArrayList;

import java.util.Collection;

public class Test {

    public static void main(String[] args) {

        CollectionInteger a = new ArrayListInteger();

        a.add(3);

        a.add(5);

        a.add(8);

        a.add(11);

        CollectionInteger b = new ArrayListInteger();

        b.add(2);

        b.add(6);

        b.add(8);

        b.add(9);

        b.add(11);

        b.add(15);

        b.add(20);

        b.removeAll(a);

        a.addAll(b);

        for (int temp : a) {

            System.out.println(temp);

        }

    }

}

③:或者这样写(与②中代码思想一致):

        /*

         for (Integer temp : b) {

            if (!a.contains(temp)) {

                a.add(temp);

            }

        }

        */

        CollectionInteger temps = new ArrayListInteger();

        for (Integer temp : b) {

            if (!a.contains(temp)) {

                temps.add(temp);

            }

            }

        a.addAll(temps);

求一些JAVA数据结构的试题及答案解析

1 下列数据结构中,能用二分法进行查找的是__A____。

A、顺序存储的有序线性表 B、线性链表 C、二叉链表 D、有序线性链表 解析:二分法查找只适用于顺序存储的有序表。在此所说的有序表是指线性表中的元素按值非递减排列(即从小到大,但允许相邻元素值相等)。 2 在软件设计中,不属于过程设计工具的是__D____。 A、PDL(过程设计语言) B、PAD图 C、N-S图 D、DFD图 解析:软件设计工具包括:程序流程图、N-S、PAD、HIPO,判定表,PDL(伪码)。而DFD(数据流图)属于结构化分析工具。

3 在switch(expression)语句中,expression的数据类型不能是__A____。 A、double B、char C、byte D、short

解析:表达式expression只能返回这个几种类型的值:int、byte、short和char。多分支语句把表达式返回的值依次与每个case子句中的值相比较,如果遇到匹配的值,则执行该case子句后的语句序列。

4 下列叙述中,错误的是__D____。

A、父类不能替代子类 B、子类能够替代父类 C、子类继承父类 D、父类包含子类 5 通过继承实现代码复用:

Java中所有的类都是通过直接或间接地继承java.lang.Object类得到的。继承而得到的类称为子类,被继承的类称为父类。子类不能继承父类中访问权限为private的成员变量和方法,子类可以重写父类的方法,及命名与父类同名的成员变量。 子类通过隐藏父类的成员变量和重写父类的方法,把父类的状态和行为改变为自身的状态和行为。注意:子类中重写的方法和父类中被重写的方法要具有相同的名字,相同的参数表和相同的返回类型,只是函数体不同。

由于子类继承了父类所有的属性(私有的除外),所以子类对象可以作为父类对象使用。程序中凡是使用父类对象的地方,都可以用子类对象来代替。一个对象可以通过引用子类的实例来调用子类的方法。

java运行时系统根据调用该方法的实例,来决定调用哪个方法。对子类的一个实例,如果子类重写了父类的方法,则运行时系统调用子类的方法;如果子类继承了父类的方法(未重写),则运行时系统调用父类的方法。

6 自定义表格类中的model部分应实现的接口是___A___。

A、AbstractTableModel B、JTable C、TableModel D、TableModelable 7 下列代码中,将引起编译错误的行是__B____。 1)public class Exercise{

2) public static void main(String args[]){ 3) float f=0.0; 4) f+=1.0; 5) } 6) }

A、第2行 B、第3行 C、第4行 D、第6行

解析:float定义变量赋值时,需要在数值后面加f以标识它为浮点型,让系统知道该给它精确到多少位。

关于java数据结构参考答案和数据结构教程java语言描述答案的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-11-30,除非注明,否则均为首码项目网原创文章,转载请注明出处。