今天主要学习了树的基本概念以及堆的实现。
树具有链式存储和顺序存储,但是一般不推荐顺序存储,几乎都是链式存储。
二叉树:
特点:度最大为2;并且具有左右树之分不能颠倒次序。
n0=n2+1;
n1最多为一个,
左孩子为2i+1;
右孩子为2
i+2;
父亲节点为(i-1)/2;


堆为完全二叉树,用顺序结构存储,
特点:堆中某个节点的关键值总是不大于或不小于其父亲节点的值。
堆总是一个完全二叉树,
堆的实现 :需要使用向下调整算法,向下调整算法前提是子树都为大堆或小堆,所以需由第一个非叶子节点开始调整。

©著作权归作者所有:来自51CTO博客作者我要进大厂的原创作品,如需转载,请注明出处,否则将追究法律责任

每一份赞赏源于懂得

赞赏

0人进行了赞赏支持

更多相关文章

  1. K8S v1.18.x 部署-Kubeadm方式-4:部署负载均衡
  2. K8S v1.18.x 部署-Kubeadm方式-7:部署Addon-MetalLB
  3. K8S v1.18.x 部署-Kubeadm方式-3:部署工具
  4. CentOS 7部署OpenStack--准备基础环境
  5. CentOS 7部署OpenStack--部署Newtron(计算节点)
  6. IPFS矿池集群方案详解
  7. Kafka 集群部署
  8. Redis搭建哨兵
  9. 使用kubeadm部署kubernetes集群

随机推荐

  1. golang和nodejs的区别是什么?
  2. golang如何连接mysql
  3. golang如何读取文件
  4. golang和go语言有区别吗?
  5. golang如何封装路由
  6. golang和python的区别
  7. golang和c的区别是什么?
  8. golang如何防止意外崩溃
  9. golang可以写安卓吗
  10. golang反射有啥用?