二叉树结构

二叉树结构

在进行链表结构开发的过程之中,所有的数据按照首尾相连的状态进行保存,那么当要进行某一个数据查询的时候(判断改数据是否存在),这总情况下它所面临的时间复杂度是“O(n)”,如果说它现在的数据量小(不超过30个)的情况下,性能上是不会有太大差别的,但是一旦保存的数据量很大,这个时候时间复杂度就会增大很多,影响程序性能。所以程序的结构就必须发生改变,应该尽可能的减少检索次数为出发点进行设计,对于现在的数据结构而言,最好的性能就是“O(logn)”。现在要想实现它就可以利用二叉树的结构来完成。

如果要想实现一棵树结构的定义,那么就需要老驴数据的存储形式,在二叉树的实现之中其基本的实现原理如下:
第一个数据为保存的根节点,小于等于根节点的数据要放在节点的左子树,而大于根节点的数据就放在要放在该节点的右子数。

 

如果要进行数据检索的话,就需要进行每个节点的判断,由于它是区分左右的,所以不会是整个的结构都进行判断处理,那么它的时间复杂度就是O(logn)。

而对于二叉树而言,在进行数据获取的时候也有三种形式:前序遍历(根-左-右),中序遍历(左-根-右)、后续遍历(左-右-根)。

上图数据以中序遍历:10、20、25、30、38、50、80、100;二叉树的内容全部属于排序的结果。

猜你喜欢

转载自blog.csdn.net/weixin_46245201/article/details/112635934