二叉樹(shù)有什么實(shí)際作用 二叉排序樹(shù)的插入,如果遇到,相同的節(jié)點(diǎn),怎么辦?
二叉排序樹(shù)的插入,如果遇到,相同的節(jié)點(diǎn),怎么辦?二進(jìn)制排序樹(shù)只提供了一個(gè)數(shù)據(jù)結(jié)構(gòu)。如果不加以應(yīng)用,它的存在就毫無(wú)意義。所以您想要什么取決于您的具體需求。如果在實(shí)際應(yīng)用程序中允許相同的值,則可以左右插入
二叉排序樹(shù)的插入,如果遇到,相同的節(jié)點(diǎn),怎么辦?
二進(jìn)制排序樹(shù)只提供了一個(gè)數(shù)據(jù)結(jié)構(gòu)。如果不加以應(yīng)用,它的存在就毫無(wú)意義。
所以您想要什么取決于您的具體需求。如果在實(shí)際應(yīng)用程序中允許相同的值,則可以左右插入。你只需要確保你的樹(shù)在中間順序遍歷時(shí)是非嚴(yán)格單調(diào)遞增的如果你在實(shí)際應(yīng)用中需要唯一的值,你的實(shí)現(xiàn)應(yīng)該以某種形式告訴用戶,比如返回一個(gè)特殊值或者拋出一個(gè)異常
二叉樹(shù)和二叉排序樹(shù)的區(qū)別是:不同的子樹(shù)節(jié)點(diǎn),不同的鍵值,不同的子樹(shù)類型。
1、 1. 二叉樹(shù):二叉樹(shù)左/右子樹(shù)上所有節(jié)點(diǎn)的值可以大于、等于或小于其根節(jié)點(diǎn)的值。
2. 二叉排序樹(shù):如果二叉排序樹(shù)的左/右子樹(shù)不為空,則左/右子樹(shù)上所有節(jié)點(diǎn)的值都小于其根節(jié)點(diǎn)的值。
2、二叉樹(shù):二叉樹(shù)可以有具有相等鍵值的節(jié)點(diǎn)。
2. 二叉排序樹(shù):二叉排序樹(shù)沒(méi)有具有相等鍵值的節(jié)點(diǎn)。
3、 1. 二叉樹(shù):二叉樹(shù)的左右子樹(shù)也是二叉樹(shù)。
2. 二叉排序樹(shù):二叉排序樹(shù)的左右子樹(shù)也是二叉排序樹(shù)
二叉排序樹(shù)是為動(dòng)態(tài)搜索而設(shè)計(jì)的數(shù)據(jù)結(jié)構(gòu)。面向搜索操作。在二叉排序樹(shù)中搜索一個(gè)節(jié)點(diǎn)的平均時(shí)間復(fù)雜度為O(log)n。堆是一種為排序而設(shè)計(jì)的數(shù)據(jù)結(jié)構(gòu),它不面向搜索操作,因此在堆中搜索一個(gè)節(jié)點(diǎn)需要遍歷,其平均時(shí)間復(fù)雜度為O(n)。