看卡哥视频 关于树

完全二叉树?1. 除了底层,其他层都是满的;2.底层空的点都在右边,底层是连续的

满二叉树?叶节点不缺,满的

二叉搜素树?对所有节点,他的左树的所有节点都小于他;右树的所有节点都大于他

平衡二叉搜索树?左树和右树的高度差接近,绝对值小于1。用处很大:map, set, multi_map, multi_set, log n 插入和查询。note: unordered_map和unordered_set底层是hash table

二叉树咋存储的?

链性和线性的

2 * i + 1 数组里第i个节点的左节点的下标

2 * i + 2 数组里第i个节点的右节点的下标

遍历

深度优先

用递归和stack

前中后序:中 左子树 右子树,左子树 中 右子树,左子树 右子树 中

前和中序唯一确定一棵二叉树:

广度优先

用队列

struct TreeNode {

int val;

TreeNode * left;

TreeNode* right;

TreeNode*(int val)" val(val), left(NULL), right(NULL) {

}

}

全部评论

相关推荐

评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客企业服务