面试篇:算法(二:二叉树)

一:创建节点

class Node(
	public int idata; 	--节点
	public int Ddata;	--节点数据
	public Node LeftChild;	--左节点
	public Node RightChild;	--右节点
	public void prints(
		System.out.print(Data);
	)

二:遍历

1. 前序遍历。

public void preOrder(Node node){
			if(node.idata = null)
			{return;}
			else
			{
				node.prints;
				beforFind(LeftChild);
				beforFind(RightChild);
			}

2. 中序遍历。

	public void inOrder(Node node){
			if(node.idata = null)
			{return;}
			else
			{
				beforFind(LeftChild);
				node.prints;
				beforFind(RightChild);
			}
			
		}

3. 后序遍历。

	public void postOrder(Node node){
			if(node.idata = null)
			{return;}
			else
			{
				beforFind(LeftChild);
				beforFind(RightChild);
				node.prints;
			}
			
		}

4. 层序遍历。

	public void levelOrder(TreeNode node)
	{
		TreeNode cur=node;
		if (cur == null)
			{return;}
		else
		{
			Queue<Treenoede> queue=new LinkedList<>();
			queue.offer(cur);
			while(queue ! = null)
			{
				system.out.print(queue.poll().val);
				if(cur.left ! =null )
				{
					queue.offer(cur.left);
				}
				if(cur.right ! =null )
				{
					queue.offer(cur.right);
				}
			}
		}
	
	}

你可能感兴趣的:(毕业,面试,算法,java)