二叉树和多叉树的各自优缺点?

二叉树用于排序查找和搜索等等。
多叉树主要用于文件和数据库,因为高度小,可以减少磁盘io次数。
那么问题来了,既然多叉树那么好,为什么不取代二叉树的应用呢?为什么还有很多地方使用二叉树而不是多叉树呢?

阅读 8.7k
1 个回答
新手上路,请多包涵

为什么使用二叉树?
1.二叉树效率比较高,一个平衡而查询查找效率是log2n ,例如1w条数据,二叉树最坏只要查找15次
。多路查找树的话,如果每层分100个子节点,两层可以保存1w个数据,那查找效率是 100*log100n,效率慢一些,即最坏要查询200次。
为什么使用多叉树?
1.二叉树因为层数比较多只适合在内存里面查找,如果每层查找都需要向硬盘做io操作读数据,那么性能会降低。
2.多路查找树适合数据量大的情况,存放在硬盘是上的数据。因为层数少,可以减少io操作。mysql的索引默认就是多路查找树

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进