嵌入式每日学习心得2017.08.15

来源:互联网 发布:淘宝上理肤泉是正品吗 编辑:程序博客网 时间:2024/06/05 11:28
物理结构:信息在内存的表示
顺序存储
链式存储
逻辑结构:
1、散列
2、线性表  1:1
顺序线性表
链式线性表
3、树形结构  1:N

概念:是n(n>=0)个节点的的有限集合(n=0称为空树)。在任意一棵非空树中:(n=1)有且仅有一个特定的节点称为根(Root)节点,n>1时,其余节点(非根结点)可分为y个互不相交的有限集。



节点的分类:
节点的度:每个节点拥有子节点的个数
树的度  :最大节点度


节点的关系:
孩子节点:节点的子树
双亲节点:相应拥有孩子的节点
兄弟节点:同一个双亲节点的


树的层次:
节点的层次:从根节点开始,根的子节点层次+1,直至到此节+1
    树的层次(高度、深度):最大节点的层次
堂兄弟:在一同层次的节点,且不同双亲的节点




树的存储:(物理存储:顺序存储,链式存储)
顺序树形结构:有数组存储节点,表示出1:N
链式存储结构:有链表来存储节点




  双亲法:只需要记录每个节点的父节点
优点:访问上层很方便     缺点:访问子节点麻烦(必须从头到尾节点遍历)
  孩子法:每个节点只需要记录子点即可。
优点:访问子节点方便   缺点:浪费存储空间,

叶子节点:没有孩子节点(节点度为0)


二叉树:是n(n>=0)个节点有限集合:(n==0空的二叉树),且由一个根节点和两棵互不相交的左右子节点的二叉树组成。

特殊的形状:(n<=2)
1、空树   n=0
2、只有一个根  n=1
3、左子树 n=2
4、右子树 n=2
特殊二叉树:
 斜树:      所有节点在右子树或者左子树上 (n>1)
 满二叉树:  如果所有节点的都存在左右孩子,并且叶子在同一层上
 完全二叉树:给每个节点取一个连续编号,如果编号与满二叉树相同




总结1:
1、在二叉树第i层次最多节点(满):2~(i-1)


2、层次为d的二叉树最多有多少个节点(满):2~d -1




遍历:(从根开始)每个节点都访问一次。
 层次、前序,中序、后序
  层次: A-B-C-D-E-F
  前序:先访问此树根,再访问左子树,最后此树的右子树
printf->root
left
right
总结:第一个节就是根节点。
  中序:先访问此节点的左子树,再访问根节点,最后访问右子树
left
printf->root
right
总结:根节点在中间,左子树在根的左侧,右子树在根右侧
  前、中遍历:
前:ABDECFG A-根
中:DBEAFCG        DBE作为A(根)的左子树  FCG作为根的右子树






  后序:
原创粉丝点击