非线性结构主要包括树和图。其中树主要的是二叉树。
二叉树:每个结点至多只有两个子结点的树称为二叉树。
二叉树的遍历:先序DLR、中序LDR、后序LRD、按层遍历
①递归
/**
* 中序遍历二叉树
* @param node 结点
*/
static void preOrder(Node node){
if(node!=null){
preOrder(node.left);
System.out.print(node.name);
preOrder(node.right);
}
}
②非递归算法
中序遍历二叉树:借助于栈 push or pop
按层遍历:借助于队列
二叉树的应用
①二叉排序树
②平衡二叉树
③哈弗曼树和哈弗曼编码
平衡二叉树的构建:LL型、LR型、RR型、RL型
图的存储方式:
①邻接矩阵法
②邻接表法
③十字链表(有向图)
④邻接多重表法(无向图)
图的遍历:深度优先搜索、广度优先搜索
图的应用
①最短路径
②最小生成树
561

被折叠的 条评论
为什么被折叠?



