一維數(shù)組存放二叉樹 C 語言如何用數(shù)組實(shí)現(xiàn)一個(gè)二叉樹?
C 語言如何用數(shù)組實(shí)現(xiàn)一個(gè)二叉樹?創(chuàng)建樹的方法有很多種。可以使用鏈表和數(shù)組。另外,您想創(chuàng)建數(shù)據(jù)結(jié)構(gòu)還是樹?如果是這樣,struct treenode{int data treenode*leftch
C 語言如何用數(shù)組實(shí)現(xiàn)一個(gè)二叉樹?
創(chuàng)建樹的方法有很多種??梢允褂面湵砗蛿?shù)組。另外,您想創(chuàng)建數(shù)據(jù)結(jié)構(gòu)還是樹?如果是這樣,struct treenode{int data treenode*leftchild treenode*rightchild}就是一棵樹。你設(shè)置了很多節(jié)點(diǎn),然后讓左右兩個(gè)子節(jié)點(diǎn)指向你想要的。樹也是。
請(qǐng)問高手:不用指針,怎么用c語言建立二叉樹?
您可以創(chuàng)建一個(gè)結(jié)構(gòu)數(shù)組。如果節(jié)點(diǎn)x是父節(jié)點(diǎn),它的左子節(jié)點(diǎn)是2x,右子節(jié)點(diǎn)是2x No.1,您可以自己推導(dǎo),并且不會(huì)重復(fù)。但是,創(chuàng)建n個(gè)圖層時(shí),必須應(yīng)用2^n-1結(jié)構(gòu)的空間。如果你有更多的層,這是一個(gè)嚴(yán)重的浪費(fèi)空間,所以你需要使用指針。當(dāng)然,如果你沒有很多層,比如5層,它只需要31個(gè)空間,這是完全可以做到的。這個(gè)時(shí)間比指針快一點(diǎn)。