此处建树建图的方法主要应用于平日竞赛,为了效率。(红色为推荐方法,其他的主要针对于数据结构初学时加深理解,竞赛几乎不用)
建树:
二叉树:法一:题目按照节点顺序给出树的值和左右子树的编号,可以把信息直接存在结构体数组,或者存在二维数组,不用再建树,不过得找出树根
法二:题目按照节点顺序给出树的值和左右子树的编号,先找到树根,再层序建树。建成的树可以是指针型或者数组型(堆的结构)(这里的数组型得是结构体数组,因为要存当前结点在源数据中的编号),具体由数据规模和方便程度决定
二叉搜索树:
法一:题目给出数据,按照从1~N的顺序直接给数据编号,并存到一维数组。同时直接按照二叉树建树规则建树,存到二维数组
法一:题目给出数据,直接按照二叉树建树规则建树,可建成指针型或者数组型(堆的结构)树:
法一:题目按照节点顺序给出树的值和子树的编号,可以把每个节点的儿子直接存在vector,不用再建树,不过得找出树根
法二:题目按照节点顺序给出树的值和子树的编号,可以把信息直接存在结构体数组,不用再建树,不过得找出树根法三:题目按照节点顺序给出树的值和子树的编号,先找到树根,再层序建树。建成的树是指针型
建图:
vector,前向星,二维矩阵,邻接表