国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

2023全國大學生軟件測試大賽開發(fā)者測試練習題99分答案(ScapegoatTree2023)

這篇具有很好參考價值的文章主要介紹了2023全國大學生軟件測試大賽開發(fā)者測試練習題99分答案(ScapegoatTree2023)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。


提示:該題只需要分支覆蓋得分即可,不需要變異得分

題目詳情

2023全國大學生軟件測試大賽開發(fā)者測試練習題99分答案(ScapegoatTree2023),Java基礎,測試,java,單元測試

2023全國大學生軟件測試大賽開發(fā)者測試練習題99分答案(ScapegoatTree2023),Java基礎,測試,java,單元測試文章來源地址http://www.zghlxwxcb.cn/news/detail-726285.html




題解代碼(直接全部復制到test類中即可)

package net.mooctest;

import static org.junit.Assert.*;

import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;

import org.junit.Test;

import net.mooctest.AbstractBinarySearchTree.Node;

public class AbstractSelfBalancingBinarySearchTreeTest {

	private Method declaredMethod;

	@Test
	public void test() {
		/*ScapegoatTree scapegoatTree0 = new ScapegoatTree();
		AbstractBinarySearchTree.Node abstractBinarySearchTree_Node0 = scapegoatTree0.createNode((-3252),
				(AbstractBinarySearchTree.Node) null, (AbstractBinarySearchTree.Node) null,
				(AbstractBinarySearchTree.Node) null);
		AbstractBinarySearchTree.Node abstractBinarySearchTree_Node1 = new AbstractBinarySearchTree.Node(
				abstractBinarySearchTree_Node0.value, abstractBinarySearchTree_Node0, abstractBinarySearchTree_Node0,
				abstractBinarySearchTree_Node0);
		AbstractBinarySearchTree.Node abstractBinarySearchTree_Node2 = scapegoatTree0
				.rotateRight(abstractBinarySearchTree_Node1);
		scapegoatTree0.rotateLeft(abstractBinarySearchTree_Node1);
		AbstractBinarySearchTree.Node abstractBinarySearchTree_Node3 = scapegoatTree0
				.rotateRight(abstractBinarySearchTree_Node2);
		assertTrue(abstractBinarySearchTree_Node1.isLeaf());
		assertSame(abstractBinarySearchTree_Node0, abstractBinarySearchTree_Node3);*/
	}
	
	@Test
	public void testNode() {
		ScapegoatTree scapegoatTree0 = new ScapegoatTree();
		AbstractBinarySearchTree.Node Node0 = new AbstractBinarySearchTree.Node(1,null,null,null);
		AbstractBinarySearchTree.Node Node1 = new AbstractBinarySearchTree.Node(null,null,Node0,Node0);
		assertTrue(Node0.isLeaf());
		assertTrue(Node0.isLeaf());
		assertNotEquals(Node0.hashCode(),31);
		assertEquals(Node1.hashCode(),31);
	}

	@Test
	public void testequals() {
		AbstractBinarySearchTree.Node Node0 = new AbstractBinarySearchTree.Node(1,null,null,null);
		AbstractBinarySearchTree.Node Node1 = new AbstractBinarySearchTree.Node(null,null,Node0,Node0);
		AbstractBinarySearchTree.Node Node3 = new AbstractBinarySearchTree.Node(null,null,Node0,Node0);
		AbstractBinarySearchTree.Node Node2 = new AbstractBinarySearchTree.Node(2,null,null,null);
		AbstractBinarySearchTree.Node Node4 = new AbstractBinarySearchTree.Node(2,null,null,null);
		assertTrue(Node1.equals(Node1));
		assertFalse(Node1.equals(null));
		assertFalse(Node1.equals("z1"));
		
		assertFalse(Node1.equals(Node0));
		assertTrue(Node1.equals(Node3));
		assertTrue(Node2.equals(Node4));
		assertFalse(Node0.equals(Node1));
		assertFalse(Node0.equals(Node2));
	}
	
	@Test
	public void testsubtree() {
		ScapegoatTree st1= new ScapegoatTree();
		AbstractBinarySearchTree.Node Node00 = new AbstractBinarySearchTree.Node(null,null,null,null);
		
		AbstractBinarySearchTree.Node Node0 = new AbstractBinarySearchTree.Node(1,null,null,null);
		AbstractBinarySearchTree.Node Node1 = new AbstractBinarySearchTree.Node(1,null,Node0,Node0);
		//Node2節(jié)點只有右子樹
		AbstractBinarySearchTree.Node Node2 = new AbstractBinarySearchTree.Node(1,null,null,Node0);
		//Node3節(jié)點只有左子樹
		AbstractBinarySearchTree.Node Node3 = new AbstractBinarySearchTree.Node(1,null,Node0,null);
		//Node4節(jié)點有左子樹和右子樹但值為null
		AbstractBinarySearchTree.Node Node4 = new AbstractBinarySearchTree.Node(null,null,Node0,Node0);
		//Node5節(jié)點有左子樹和右子樹但值為null且左右子樹節(jié)點為null
		AbstractBinarySearchTree.Node Node5 = new AbstractBinarySearchTree.Node(null,null,Node00,Node00);
		//Node6節(jié)點有左子樹和右子樹但值為null且左右子樹節(jié)點為null,右子樹節(jié)點有右子樹與左子樹
		AbstractBinarySearchTree.Node Node6 = new AbstractBinarySearchTree.Node(null,null,Node4,Node4);
		st1.printSubtree(Node1);
		st1.printSubtree(Node2);
		st1.printSubtree(Node3);
		st1.printSubtree(Node4);
		st1.printSubtree(Node5);
		st1.printSubtree(Node6);
		
	}
	
	@Test
	public void testisLeaf() {
		ScapegoatTree st1= new ScapegoatTree();
		AbstractBinarySearchTree.Node Node00 = new AbstractBinarySearchTree.Node(null,null,null,null);
		
		AbstractBinarySearchTree.Node Node0 = new AbstractBinarySearchTree.Node(1,null,null,null);
		AbstractBinarySearchTree.Node Node1 = new AbstractBinarySearchTree.Node(1,null,Node0,Node0);
		AbstractBinarySearchTree.Node Node2 = new AbstractBinarySearchTree.Node(1,null,Node0,null);
		AbstractBinarySearchTree.Node Node3 = new AbstractBinarySearchTree.Node(1,null,null,Node0);
		assertFalse(Node1.isLeaf());
		assertTrue(Node00.isLeaf());
		assertFalse(Node2.isLeaf());
		assertFalse(Node3.isLeaf());
		
	}
	
	@Test
	public void testgetmaxinum() {
		ScapegoatTree st1= new ScapegoatTree();
		AbstractBinarySearchTree.Node Node00 = new AbstractBinarySearchTree.Node(null,null,null,null);
		
		AbstractBinarySearchTree.Node Node0 = new AbstractBinarySearchTree.Node(1,null,null,null);
		AbstractBinarySearchTree.Node Node1 = new AbstractBinarySearchTree.Node(1,null,Node0,Node0);
		AbstractBinarySearchTree.Node Node2 = new AbstractBinarySearchTree.Node(1,null,Node0,null);
		AbstractBinarySearchTree.Node Node3 = new AbstractBinarySearchTree.Node(1,null,null,Node0);
		
		assertEquals(Node0,st1.getMaximum(Node1));
		assertEquals(Node0,st1.getMinimum(Node1));
	}
	
	@Test
	public void testSuccessor() {
		ScapegoatTree st1= new ScapegoatTree();
		AbstractBinarySearchTree.Node Node00 = new AbstractBinarySearchTree.Node(null,null,null,null);
		
		AbstractBinarySearchTree.Node Node0 = new AbstractBinarySearchTree.Node(1,null,null,null);
		AbstractBinarySearchTree.Node Node1 = new AbstractBinarySearchTree.Node(1,null,Node0,Node0);
		AbstractBinarySearchTree.Node Node2 = new AbstractBinarySearchTree.Node(1,null,Node0,null);
		AbstractBinarySearchTree.Node Node3 = new AbstractBinarySearchTree.Node(1,null,null,Node0);
		assertEquals(Node0,st1.getSuccessor(Node1));
	}
	
	@Test
	public void testSuccessor2() {
		ScapegoatTree st1= new ScapegoatTree();
		AbstractBinarySearchTree.Node Node00 = new AbstractBinarySearchTree.Node(null,null,null,null);
		AbstractBinarySearchTree.Node Node2 = new AbstractBinarySearchTree.Node(0,null,null,null);
		AbstractBinarySearchTree.Node Node1 = new AbstractBinarySearchTree.Node(2,null,null,Node2);
		Node2.parent=Node1;
		AbstractBinarySearchTree.Node Node0 = new AbstractBinarySearchTree.Node(1,null,Node1,null);
		Node1.parent=Node0;
		
		
		
		st1.getSuccessor(Node2);
		/*assertEquals(Node0,st1.getSuccessor(Node2));*/
	}
	
	@Test
	public void testorder() {
		ScapegoatTree st1= new ScapegoatTree();
		ScapegoatTree st2= new ScapegoatTree();
		ScapegoatTree st3= new ScapegoatTree();
AbstractBinarySearchTree.Node Node00 = new AbstractBinarySearchTree.Node(null,null,null,null);
		
		AbstractBinarySearchTree.Node Node0 = new AbstractBinarySearchTree.Node(1,null,null,null);
		AbstractBinarySearchTree.Node Node1 = new AbstractBinarySearchTree.Node(1,null,Node0,Node0);
		//Node2節(jié)點只有右子樹
		AbstractBinarySearchTree.Node Node2 = new AbstractBinarySearchTree.Node(1,null,null,Node0);
		//Node3節(jié)點只有左子樹
		AbstractBinarySearchTree.Node Node3 = new AbstractBinarySearchTree.Node(1,null,Node0,null);
		//Node4節(jié)點有左子樹和右子樹但值為null
		AbstractBinarySearchTree.Node Node4 = new AbstractBinarySearchTree.Node(null,null,Node0,Node0);
		//Node5節(jié)點有左子樹和右子樹但值為null且左右子樹節(jié)點為null
		AbstractBinarySearchTree.Node Node5 = new AbstractBinarySearchTree.Node(null,null,Node00,Node00);
		//Node6節(jié)點有左子樹和右子樹但值為null且左右子樹節(jié)點為null,右子樹節(jié)點有右子樹與左子樹
		AbstractBinarySearchTree.Node Node6 = new AbstractBinarySearchTree.Node(1,null,Node4,Node4);
		st1.root=Node4;
		st1.printTreeInOrder();
		st1.printTreePostOrder();
		st1.printTreePreOrder();
		st2.root=null;
		st2.printTreePostOrder();
		st2.printTreePreOrder();
		st3.root=Node6;
		st3.printTreePostOrder();
		st3.printTreePreOrder();
		
		
	}
	
	@Test
	public void testtransplant() throws NoSuchMethodException, SecurityException, IllegalAccessException, IllegalArgumentException, InvocationTargetException {
		ScapegoatTree st1= new ScapegoatTree();
        ScapegoatTree st2= new ScapegoatTree();
        ScapegoatTree st3= new ScapegoatTree();
        AbstractBinarySearchTree.Node Node00 = new AbstractBinarySearchTree.Node(null,null,null,null);
        AbstractBinarySearchTree.Node Node0 = new AbstractBinarySearchTree.Node(1,null,null,null);
        AbstractBinarySearchTree.Node Node1 = new AbstractBinarySearchTree.Node(1,null,Node0,Node0);
        AbstractBinarySearchTree a=new AbstractBinarySearchTree() {
            @Override
            protected Node createNode(int value, Node parent, Node left, Node right) {
                return null;
            }
        };
        Class c=AbstractBinarySearchTree.class;
        Method transplant = c.getDeclaredMethod("transplant", AbstractBinarySearchTree.Node.class, AbstractBinarySearchTree.Node.class);
        transplant.setAccessible(true);
        
        //情況1
        assertEquals(null,transplant.invoke(a,Node0,null));
        
        //情況2
        assertEquals(Node00,transplant.invoke(a, Node0,Node00));
        
        //情況3
        AbstractBinarySearchTree.Node Node2 = new AbstractBinarySearchTree.Node(2,null,Node0,null);
        Node0.parent=Node2;
        
        assertEquals(Node00,transplant.invoke(a, Node0,Node00));
        
        //情況4,參數(shù)1有父親且為它的左孩子
        AbstractBinarySearchTree.Node Node3 = new AbstractBinarySearchTree.Node(3,null,null,Node0);
        Node0.parent=Node3;
        assertEquals(Node00,transplant.invoke(a, Node0,Node00));
        
        
	}
	
	@Test
	public void testdelete() {
		ScapegoatTree st1= new ScapegoatTree();
        ScapegoatTree st2= new ScapegoatTree();
        ScapegoatTree st3= new ScapegoatTree();
        AbstractBinarySearchTree.Node A1 = new AbstractBinarySearchTree.Node(1,null,null,null);
        AbstractBinarySearchTree.Node A2 = new AbstractBinarySearchTree.Node(2,null,null,null);
        AbstractBinarySearchTree.Node A3 = new AbstractBinarySearchTree.Node(3,null,null,null);
        AbstractBinarySearchTree.Node A4 = new AbstractBinarySearchTree.Node(4,null,null,null);
        AbstractBinarySearchTree.Node A5 = new AbstractBinarySearchTree.Node(5,null,null,null);
        AbstractBinarySearchTree a=new AbstractBinarySearchTree() {
            @Override
            protected Node createNode(int value, Node parent, Node left, Node right) {
                return null;
            }
        };
        assertEquals(null,a.delete(null));
      //情況2		A1無孩子
        assertEquals(null,a.delete(A1));
        
        //情況3  A1只有左孩子
        A1.left=A2;
        A2.parent=A1;
        assertEquals(A2,a.delete(A1));
       
        
	}
	@Test
	public void testdelete4() {
		ScapegoatTree st1= new ScapegoatTree();
        ScapegoatTree st2= new ScapegoatTree();
        ScapegoatTree st3= new ScapegoatTree();
        AbstractBinarySearchTree.Node A1 = new AbstractBinarySearchTree.Node(1,null,null,null);
        AbstractBinarySearchTree.Node A2 = new AbstractBinarySearchTree.Node(2,null,null,null);
        AbstractBinarySearchTree.Node A3 = new AbstractBinarySearchTree.Node(3,null,null,null);
        AbstractBinarySearchTree.Node A4 = new AbstractBinarySearchTree.Node(4,null,null,null);
        AbstractBinarySearchTree.Node A5 = new AbstractBinarySearchTree.Node(5,null,null,null);
        AbstractBinarySearchTree a=new AbstractBinarySearchTree() {
            @Override
            protected Node createNode(int value, Node parent, Node left, Node right) {
                return null;
            }
        };
        
        A1.left=A2;
        A2.parent=A1;
        //情況4,A1既有左孩子又有右孩子
        A1.right=A3;
        A3.parent=A1;
        assertEquals(A3,a.delete(A1));
        
        
	}
	@Test
	public void testdelete5() {
		ScapegoatTree st1= new ScapegoatTree();
        ScapegoatTree st2= new ScapegoatTree();
        ScapegoatTree st3= new ScapegoatTree();
        AbstractBinarySearchTree.Node A1 = new AbstractBinarySearchTree.Node(1,null,null,null);
        AbstractBinarySearchTree.Node A2 = new AbstractBinarySearchTree.Node(2,null,null,null);
        AbstractBinarySearchTree.Node A3 = new AbstractBinarySearchTree.Node(3,null,null,null);
        AbstractBinarySearchTree.Node A4 = new AbstractBinarySearchTree.Node(4,null,null,null);
        AbstractBinarySearchTree.Node A5 = new AbstractBinarySearchTree.Node(5,null,null,null);
        AbstractBinarySearchTree a=new AbstractBinarySearchTree() {
            @Override
            protected Node createNode(int value, Node parent, Node left, Node right) {
                return null;
            }
        };
        
        A1.left=A2;
        A2.parent=A1;
        
        A1.right=A3;
        A3.parent=A1;
        A3.left=A4;
        A4.parent=A3;
      //情況5,A1既有左孩子又有右孩子,且A1的右孩子有一個左孩子
        assertEquals(A4,a.delete(A1));
            
	}
	
	@Test
	public void testsearch1() {
		AbstractBinarySearchTree.Node A150 = new AbstractBinarySearchTree.Node(150,null,null,null);
        AbstractBinarySearchTree.Node A100 = new AbstractBinarySearchTree.Node(100,A150,null,null);
        AbstractBinarySearchTree.Node A130 = new AbstractBinarySearchTree.Node(130,A100,null,null);
        AbstractBinarySearchTree.Node A4 = new AbstractBinarySearchTree.Node(4,null,null,null);
        AbstractBinarySearchTree.Node A5 = new AbstractBinarySearchTree.Node(5,null,null,null);
        AbstractBinarySearchTree a=new AbstractBinarySearchTree() {
            @Override
            protected Node createNode(int value, Node parent, Node left, Node right) {
                return null;
            }
        };
        A150.left=A100;
        A100.right=A130;
        a.root=A150;
        assertEquals(null,a.search(125));
	}
	
	@Test
	public void testinsert1() {
		AbstractBinarySearchTree.Node A150 = new AbstractBinarySearchTree.Node(150,null,null,null);
        AbstractBinarySearchTree.Node A100 = new AbstractBinarySearchTree.Node(100,A150,null,null);
        AbstractBinarySearchTree.Node A130 = new AbstractBinarySearchTree.Node(130,A100,null,null);
        AbstractBinarySearchTree.Node A4 = new AbstractBinarySearchTree.Node(4,null,null,null);
        AbstractBinarySearchTree.Node A5 = new AbstractBinarySearchTree.Node(5,null,null,null);
        AbstractBinarySearchTree a=new AbstractBinarySearchTree() {
            @Override
            protected Node createNode(int value, Node parent, Node left, Node right) {
                return null;
            }
        };
        a.root=null;
        assertEquals(null,a.insert(125));
	}
	@Test
	public void testinsert135() {
		AbstractBinarySearchTree.Node A150 = new AbstractBinarySearchTree.Node(150,null,null,null);
        AbstractBinarySearchTree.Node A100 = new AbstractBinarySearchTree.Node(100,A150,null,null);
        AbstractBinarySearchTree.Node A130 = new AbstractBinarySearchTree.Node(130,A100,null,null);
        /*AbstractBinarySearchTree.Node A125 = new AbstractBinarySearchTree.Node(125,A130,null,null);*/
        AbstractBinarySearchTree.Node A135 = new AbstractBinarySearchTree.Node(135,A130,null,null);
        AbstractBinarySearchTree a=new AbstractBinarySearchTree() {
            @Override
            protected Node createNode(int value, Node parent, Node left, Node right) {
            	 return new Node(value, parent, left, right);
            }
        };
        A150.left=A100;
        A100.right=A130;
        a.root=A150;
        assertEquals(A135, a.insert(135));
	}
	@Test
	public void testinsert125() {
		AbstractBinarySearchTree.Node A150 = new AbstractBinarySearchTree.Node(150,null,null,null);
        AbstractBinarySearchTree.Node A100 = new AbstractBinarySearchTree.Node(100,A150,null,null);
        AbstractBinarySearchTree.Node A130 = new AbstractBinarySearchTree.Node(130,A100,null,null);
        /*AbstractBinarySearchTree.Node A125 = new AbstractBinarySearchTree.Node(125,A130,null,null);*/
        AbstractBinarySearchTree.Node A125 = new AbstractBinarySearchTree.Node(125,A130,null,null);
        AbstractBinarySearchTree a=new AbstractBinarySearchTree() {
            @Override
            protected Node createNode(int value, Node parent, Node left, Node right) {
            	 return new Node(value, parent, left, right);
            }
        };
        A150.left=A100;
        A100.right=A130;
        a.root=A150;
        assertEquals(A125, a.insert(125));
	}
	
	@Test
	public void delete1() {
		AbstractBinarySearchTree.Node A150 = new AbstractBinarySearchTree.Node(150,null,null,null);
        AbstractBinarySearchTree.Node A100 = new AbstractBinarySearchTree.Node(100,A150,null,null);
        AbstractBinarySearchTree.Node A130 = new AbstractBinarySearchTree.Node(130,A100,null,null);
        /*AbstractBinarySearchTree.Node A125 = new AbstractBinarySearchTree.Node(125,A130,null,null);*/
        AbstractBinarySearchTree.Node A125 = new AbstractBinarySearchTree.Node(125,A130,null,null);
        AbstractBinarySearchTree a=new AbstractBinarySearchTree() {
            @Override
            protected Node createNode(int value, Node parent, Node left, Node right) {
            	return new Node(value, parent, left, right);
            }
        };
        A150.left=A100;
        A100.right=A130;
        a.root=A150;
        assertNull(a.delete(125));
        assertNull(a.delete(130));
	}
	
	@Test
	public void testselfrotateLeft() {
		AbstractBinarySearchTree.Node A1 = new AbstractBinarySearchTree.Node(1,null,null,null);
        AbstractBinarySearchTree.Node A2 = new AbstractBinarySearchTree.Node(2,null,null,null);
        AbstractBinarySearchTree.Node A3 = new AbstractBinarySearchTree.Node(3,null,null,null);
        AbstractBinarySearchTree.Node A4 = new AbstractBinarySearchTree.Node(4,null,null,null);
        AbstractBinarySearchTree.Node A5 = new AbstractBinarySearchTree.Node(5,null,null,null);
        AbstractSelfBalancingBinarySearchTree a=new AbstractSelfBalancingBinarySearchTree() {
        	@Override
            protected Node createNode(int value, Node parent, Node left, Node right) {
            	return new Node(value, parent, left, right);
            }
        };
        
        A2.right=A3;
        A3.parent=A2;
        
        
        assertEquals(A3,a.rotateLeft(A2));
	}
	@Test
	public void testselfrotateLeft1() {
		AbstractBinarySearchTree.Node A1 = new AbstractBinarySearchTree.Node(1,null,null,null);
        AbstractBinarySearchTree.Node A2 = new AbstractBinarySearchTree.Node(2,null,null,null);
        AbstractBinarySearchTree.Node A3 = new AbstractBinarySearchTree.Node(3,null,null,null);
        AbstractBinarySearchTree.Node A4 = new AbstractBinarySearchTree.Node(4,null,null,null);
        AbstractBinarySearchTree.Node A5 = new AbstractBinarySearchTree.Node(5,null,null,null);
        AbstractSelfBalancingBinarySearchTree a=new AbstractSelfBalancingBinarySearchTree() {
        	@Override
            protected Node createNode(int value, Node parent, Node left, Node right) {
            	return new Node(value, parent, left, right);
            }
        };
        A1.right=A2;
        A2.parent=A1;
        A2.right=A3;
        A3.parent=A2;
        
      
       assertEquals( A3,a.rotateLeft(A2));
	}
	@Test
	public void testselfrotateLeft2() {
		AbstractBinarySearchTree.Node A1 = new AbstractBinarySearchTree.Node(1,null,null,null);
        AbstractBinarySearchTree.Node A2 = new AbstractBinarySearchTree.Node(2,null,null,null);
        AbstractBinarySearchTree.Node A3 = new AbstractBinarySearchTree.Node(3,null,null,null);
        AbstractBinarySearchTree.Node A4 = new AbstractBinarySearchTree.Node(4,null,null,null);
        AbstractBinarySearchTree.Node A5 = new AbstractBinarySearchTree.Node(5,null,null,null);
        AbstractSelfBalancingBinarySearchTree a=new AbstractSelfBalancingBinarySearchTree() {
        	@Override
            protected Node createNode(int value, Node parent, Node left, Node right) {
            	return new Node(value, parent, left, right);
            }
        };
        A1.right=A2;
        A2.parent=A1;
        A2.right=A3;
        A3.parent=A2;
        A4.parent=A3;
        A3.left=A4;
        
      
        assertEquals(A3,a.rotateLeft(A2));
	}
	
	@Test
	public void testselfrotateLeft3() {
		AbstractBinarySearchTree.Node A1 = new AbstractBinarySearchTree.Node(1,null,null,null);
        AbstractBinarySearchTree.Node A2 = new AbstractBinarySearchTree.Node(2,null,null,null);
        AbstractBinarySearchTree.Node A3 = new AbstractBinarySearchTree.Node(3,null,null,null);
        AbstractBinarySearchTree.Node A4 = new AbstractBinarySearchTree.Node(4,null,null,null);
        AbstractBinarySearchTree.Node A5 = new AbstractBinarySearchTree.Node(5,null,null,null);
        AbstractSelfBalancingBinarySearchTree a=new AbstractSelfBalancingBinarySearchTree() {
        	@Override
            protected Node createNode(int value, Node parent, Node left, Node right) {
            	return new Node(value, parent, left, right);
            }
        };
        A1.right=A2;
        A1.left=A2;
        A2.parent=A1;
        A2.right=A3;
        A3.parent=A2;
        A4.parent=A3;
        A3.left=A4;
        
      
       assertEquals(A3,a.rotateLeft(A2));
	}
	
	@Test
	public void testselfrotateRight() {
		AbstractBinarySearchTree.Node A1 = new AbstractBinarySearchTree.Node(1,null,null,null);
        AbstractBinarySearchTree.Node A2 = new AbstractBinarySearchTree.Node(2,null,null,null);
        AbstractBinarySearchTree.Node A3 = new AbstractBinarySearchTree.Node(3,null,null,null);
        AbstractBinarySearchTree.Node A4 = new AbstractBinarySearchTree.Node(4,null,null,null);
        AbstractBinarySearchTree.Node A5 = new AbstractBinarySearchTree.Node(5,null,null,null);
        AbstractSelfBalancingBinarySearchTree a=new AbstractSelfBalancingBinarySearchTree() {
        	@Override
            protected Node createNode(int value, Node parent, Node left, Node right) {
            	return new Node(value, parent, left, right);
            }
        };
        
        A2.left=A3;
        A3.parent=A2;
        
        
        assertEquals(A3,a.rotateRight(A2));
	}
	
	@Test
	public void testselfrotateRight1() {
		AbstractBinarySearchTree.Node A1 = new AbstractBinarySearchTree.Node(1,null,null,null);
        AbstractBinarySearchTree.Node A2 = new AbstractBinarySearchTree.Node(2,null,null,null);
        AbstractBinarySearchTree.Node A3 = new AbstractBinarySearchTree.Node(3,null,null,null);
        AbstractBinarySearchTree.Node A4 = new AbstractBinarySearchTree.Node(4,null,null,null);
        AbstractBinarySearchTree.Node A5 = new AbstractBinarySearchTree.Node(5,null,null,null);
        AbstractSelfBalancingBinarySearchTree a=new AbstractSelfBalancingBinarySearchTree() {
        	@Override
            protected Node createNode(int value, Node parent, Node left, Node right) {
            	return new Node(value, parent, left, right);
            }
        };
        A1.left=A2;
        A2.parent=A1;
        A2.left=A3;
        A3.parent=A2;
        
      
       assertEquals( A3,a.rotateRight(A2));
	}
	
	@Test
	public void testselfrotateRight2() {
		AbstractBinarySearchTree.Node A1 = new AbstractBinarySearchTree.Node(1,null,null,null);
        AbstractBinarySearchTree.Node A2 = new AbstractBinarySearchTree.Node(2,null,null,null);
        AbstractBinarySearchTree.Node A3 = new AbstractBinarySearchTree.Node(3,null,null,null);
        AbstractBinarySearchTree.Node A4 = new AbstractBinarySearchTree.Node(4,null,null,null);
        AbstractBinarySearchTree.Node A5 = new AbstractBinarySearchTree.Node(5,null,null,null);
        AbstractSelfBalancingBinarySearchTree a=new AbstractSelfBalancingBinarySearchTree() {
        	@Override
            protected Node createNode(int value, Node parent, Node left, Node right) {
            	return new Node(value, parent, left, right);
            }
        };
        A1.left=A2;
        A2.parent=A1;
        A2.left=A3;
        A3.parent=A2;
        A4.parent=A3;
        A3.right=A4;
        
      
        assertEquals(A3,a.rotateRight(A2));
	}
	
	@Test
	public void testselfrotateRight3() {
		AbstractBinarySearchTree.Node A1 = new AbstractBinarySearchTree.Node(1,null,null,null);
        AbstractBinarySearchTree.Node A2 = new AbstractBinarySearchTree.Node(2,null,null,null);
        AbstractBinarySearchTree.Node A3 = new AbstractBinarySearchTree.Node(3,null,null,null);
        AbstractBinarySearchTree.Node A4 = new AbstractBinarySearchTree.Node(4,null,null,null);
        AbstractBinarySearchTree.Node A5 = new AbstractBinarySearchTree.Node(5,null,null,null);
        AbstractSelfBalancingBinarySearchTree a=new AbstractSelfBalancingBinarySearchTree() {
        	@Override
            protected Node createNode(int value, Node parent, Node left, Node right) {
            	return new Node(value, parent, left, right);
            }
        };
        A1.right=A2;
        A1.left=A5;
       
        A2.parent=A1;
        A2.left=A3;
        A3.parent=A2;
        A4.parent=A3;
        A3.right=A4;
        
       
       assertEquals(A3,a.rotateRight(A2));
	}
	
	@Test
	public void testMathUtils1() {
		MathUtils a=new MathUtils();
		assertEquals(2,a.getMax(1, 2));
		assertEquals(2,a.getMax(2, 1));
	}
	
	@Test
	public void testScapegoatgetNodeHeight() {
		AbstractBinarySearchTree.Node A1 = new AbstractBinarySearchTree.Node(1,null,null,null);
        AbstractBinarySearchTree.Node A2 = new AbstractBinarySearchTree.Node(2,null,null,null);
        AbstractBinarySearchTree.Node A3 = new AbstractBinarySearchTree.Node(3,null,null,null);
        AbstractBinarySearchTree.Node A4 = new AbstractBinarySearchTree.Node(4,null,null,null);
        AbstractBinarySearchTree.Node A5 = new AbstractBinarySearchTree.Node(5,null,null,null);
        ScapegoatTree a=new ScapegoatTree();
        assertEquals(-1,a.getNodeHeight(null));
        A2.parent=A1;
        assertEquals(1,a.getNodeHeight(A2));
	}
	@Test
	public void testScapegoatgetSubtreeSize() {
		AbstractBinarySearchTree.Node A1 = new AbstractBinarySearchTree.Node(1,null,null,null);
        AbstractBinarySearchTree.Node A2 = new AbstractBinarySearchTree.Node(2,null,null,null);
        AbstractBinarySearchTree.Node A3 = new AbstractBinarySearchTree.Node(3,null,null,null);
        AbstractBinarySearchTree.Node A4 = new AbstractBinarySearchTree.Node(4,null,null,null);
        AbstractBinarySearchTree.Node A5 = new AbstractBinarySearchTree.Node(5,null,null,null);
        ScapegoatTree a=new ScapegoatTree();
        assertEquals(0,a.getSubtreeSize(null));
        A2.parent=A1;
        A2.left=A3;
        assertEquals(1,a.getSubtreeSize(A1));
        assertEquals(2,a.getSubtreeSize(A2));
	}
	@Test
	public void testScapegoatgetSibling() throws NoSuchMethodException, SecurityException, IllegalAccessException, IllegalArgumentException, InvocationTargetException {
		AbstractBinarySearchTree.Node A0 = null;
		AbstractBinarySearchTree.Node A1 = new AbstractBinarySearchTree.Node(1,null,null,null);
        AbstractBinarySearchTree.Node A2 = new AbstractBinarySearchTree.Node(2,null,null,null);
        AbstractBinarySearchTree.Node A3 = new AbstractBinarySearchTree.Node(3,null,null,null);
        AbstractBinarySearchTree.Node A4 = new AbstractBinarySearchTree.Node(4,null,null,null);
        AbstractBinarySearchTree.Node A5 = new AbstractBinarySearchTree.Node(5,null,null,null);
        ScapegoatTree a=new ScapegoatTree();
        assertEquals(0,a.getSubtreeSize(null));
        A2.parent=A1;
        A1.left=A2;
        A3.parent=A1;
       A1.right=A3;
       Class c=ScapegoatTree.class;
       Method su=c.getDeclaredMethod("getSibling", AbstractBinarySearchTree.Node.class);
       su.setAccessible(true);
       assertEquals(null,su.invoke(a,A1));
       assertEquals(A2,su.invoke(a,A3));
       assertEquals(A3,su.invoke(a,A2));
	}
	
	@Test
	public void testScapegoatinsert() {
		ScapegoatTree a=new ScapegoatTree();
		AbstractBinarySearchTree.Node A150 = new AbstractBinarySearchTree.Node(150,null,null,null);
		
		a.insert(150);
		a.insert(100);
		a.insert(130);
		a.findScapegoatNode(A150);
		a.delete(150);
		a.delete(100);
	}
	@Test
	public void testScapegoatinsert1() {
		ScapegoatTree a=new ScapegoatTree();
		AbstractBinarySearchTree.Node A150 = new AbstractBinarySearchTree.Node(150,null,null,null);
		
		a.insert(100);
		a.insert(110);
		a.insert(120);
		a.insert(130);
		a.insert(140);
		a.insert(150);
		a.insert(160);
		a.insert(170);
		a.insert(180);
		a.insert(0);
		a.insert(150);
		a.insert(110);
		a.insert(110);
		a.insert(78);
	}
}

到了這里,關于2023全國大學生軟件測試大賽開發(fā)者測試練習題99分答案(ScapegoatTree2023)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 2023全國大學生數(shù)學建模競賽C題思路+模型+代碼+論文

    目錄 一.思路模型見文末名片,比賽開始第一時間更新 二.國賽常用算法之主成分分析法(PCA) 三.MATLAB代碼 代碼相對簡單,是從司守奎大神的《數(shù)學建模算法與應用》一書中學習到的,筆者只不過添加了一點注釋,拾人牙慧,慚愧慚愧。將代碼文件和txt文件放在一個文件夾中就

    2024年02月09日
    瀏覽(40)
  • 2023年高教社杯全國大學生數(shù)學建模競賽參賽事項注意

    2023年高教社杯全國大學生數(shù)學建模競賽參賽事項注意

    一年一度的數(shù)學建模國賽要來啦?。?!小編仔細閱讀了比賽官方網(wǎng)站上的規(guī)則和要求,以及比賽的題型和時間安排,現(xiàn)總結分享給大家。 小編將會在開賽后第一時間發(fā)布選題建議、所有題目的思路解析、相關代碼、參考文獻、參考成品論文等多項資料,幫助大家取得好成績哦

    2024年02月09日
    瀏覽(40)
  • 2023年度第四屆全國大學生算法設計與編程挑戰(zhàn)賽(春季賽)

    2023年度第四屆全國大學生算法設計與編程挑戰(zhàn)賽(春季賽)

    ?A 題目描述 ? ? ? ?有一個長為?n (1le n le 1000)n?(1≤n≤1000)?的序列,序列上的元素兩兩不同。你需要用最少的操作步數(shù)翻轉這個序列。 ? ? ? ?每次操作你需要給出三個數(shù)?i,j,k(1le ile j k le n)i,j,k(1≤i≤jk≤n),交換序列中下標屬于?[i,j][i,j]?的元素與下標屬于?[j+1,k][j+

    2024年02月08日
    瀏覽(86)
  • 2023高教社杯全國大學生數(shù)學建模競賽B題代碼解析

    2023高教社杯全國大學生數(shù)學建模競賽B題 多波束測線問題 代碼解析 因為一些不可抗力,下面僅展示部分matlab代碼(第一問的部分),其余代碼看文末 節(jié)選了部分: 有關思路、相關代碼、講解視頻、參考文獻等相關內(nèi)容可以點擊下方群名片哦!

    2024年02月09日
    瀏覽(40)
  • 【電子設計大賽】2023 年全國大學生電子設計競賽 儀器和主要元器件清單

    1. 儀器設備清單 直流穩(wěn)壓電源(具有恒流/恒壓模式自動切換功能,0~30V/3A,雙路) 數(shù)字示波器(100MHz, 雙通道) 函數(shù)發(fā)生器(50 MHz,雙通道) 射頻信號源(500MHz,-100dBm~0dBm,具有射頻輸出開關功能) 矢量網(wǎng)絡分析儀(1GHz) 頻譜分析儀(1GHz) 頻率計(500MHz) 功率分析儀

    2024年02月15日
    瀏覽(23)
  • 2023全國大學生數(shù)學建模競賽E題詳解+Python代碼源碼(三)SARIMA模型

    2023全國大學生數(shù)學建模競賽E題詳解+Python代碼源碼(三)SARIMA模型

    簡單介紹一下我自己:博主專注建模四年,參與過大大小小數(shù)十來次數(shù)學建模,理解各類模型原理以及每種模型的建模流程和各類題目分析方法。參與過十余次數(shù)學建模大賽,三次美賽獲得過二次M獎一次H獎,國賽二等獎。 希望各位以后遇到建模比賽可以艾特一下我,我可以

    2024年02月09日
    瀏覽(21)
  • 2023全國大學生數(shù)學建模ABCDE選題建議,思路模型,小白要怎么選?難度怎么樣

    大家可以查看我們的視頻講解,在這里: 【2023全國大學生數(shù)學建模競賽選題建議,難度分析,小白應該怎么選】?https://b23.tv/S6O26uc 選題建議視頻播放?b23.tv/S6O26uc https://link.zhihu.com/?target=https%3A//b23.tv/S6O26uc A題:定日鏡場的優(yōu)化設計 A題是數(shù)模類賽事很常見的物理類賽題,需

    2024年02月09日
    瀏覽(19)
  • 2019年全國大學生電子設計大學(D 題)簡易電路特性測試儀(2)基礎部分電路與代碼

    2019年全國大學生電子設計大學(D 題)簡易電路特性測試儀(2)基礎部分電路與代碼

    先看基礎部分第一問,首先經(jīng)過測試,我的共射放大電路的放大倍數(shù)是280左右(分立元件每個人都不一樣),選擇放大倍數(shù)越小的三極管越好做(1)中有作解釋。 輸入電阻 DDS輸出的正弦波幅值為1.1v,經(jīng)過分壓后,串聯(lián)一個電阻,根據(jù)公式計算即可得出。電路圖如下: ? ?

    2024年02月14日
    瀏覽(37)
  • 2023 年高教社杯全國大學生數(shù)學建模競賽題目 B 題 多波束測線問題

    2023 年高教社杯全國大學生數(shù)學建模競賽題目 B 題 多波束測線問題

    單波束測深是利用聲波在水中的傳播特性來測量水體深度的技術。聲波在均勻介質中作勻速直線傳播,在不同界面上產(chǎn)生反射,利用這一原理,從測量船換能器垂直向海底發(fā)射聲波信號,并記錄從聲波發(fā)射到信號接收的傳播時間,通過聲波在海水中的傳播速度和傳播時間計算

    2024年02月09日
    瀏覽(29)
  • 2023年高教社杯全國大學生數(shù)學建模競賽-【比賽規(guī)則篇】比賽規(guī)則及比賽指導

    目錄 前言 前輩分享的國賽獲獎經(jīng)驗? 多看歷年的競賽題 集訓時長 模擬題量

    2024年02月07日
    瀏覽(28)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包