1樓:網際網路_逸白
#include
#include
#include
typedef char datatype;
typedef struct node
*bitree;
bitree createtree(bitree root)
root=(bitree)malloc(sizeof(bitree));
root->data=s;
root->lchild=createtree(root->lchild); /* 遞迴 */
root->rchild=createtree(root->rchild); /* 遞迴 */
return root;
}return root;
}int comparetree(bitree a,bitree b)
else return 0; //一種null,一種不null沒考慮,直接返回0就好。
}int main()
沒輸出主要是需要在兩個輸入之間加上getchar(),還有判斷是否等價少了一部分。
2樓:闊氣剋剋
我現在感覺你這個輸入一棵樹的過程就需要輸入很多個@了,這樣構建一棵樹會不會有點兒太複雜讓自己都不知道構建的樹的形態了,而且看你printf的內容你似乎認為只要輸入一個@就能完成一棵樹的輸入??
遞迴比較的過程看起來是正確的。
資料結構:二叉樹判定題,求大神指點,謝謝!!! 20
3樓:
1. 設某雜湊表的長度為100,雜湊函式h(k)=k % p,則p通常情況下最好選擇( b )。
(a) 99 (b) 97 (c) 91 (d) 93 不知道該怎麼做,給講講吧~
2. 設一棵三叉樹中有50個度數為0的結點,21個度數為2的結點,則該二叉樹中度數為3的結點數有______個。 弄不懂~~~
3. 下面程式段的功能是實現一趟快速排序,請在下劃線處填上正確的語句。 書上有,看的也不太理解,再給講講while裡面的語句含義吧
struct record ;
while (___i }______r[i]=x___________; }4.設二叉樹的先序遍歷序列和後序遍歷序列正好相反,則該二叉樹滿足的條件是( d )。 (a) 空或只有一個結點 (b) 高度等於其結點數 (c) 任一結點無左孩子 (d) 任一結點無右孩子 我的答案是b, 左,右單支數 遍歷情況不都一樣麼?? 5. 設一組權值集合w=,則由該權值集合構造的哈夫曼樹中帶權路徑長度之和為(d )。 (a) 20 (b) 30 (c) 40 (d) 45 我的答案是 48 怎麼能算錯了,什麼意思了?~~ 呵呵 6.設一棵二叉樹的先序序列和後序序列,則能夠唯一確定出該二叉樹的形狀。( 錯 ) 舉個例子, 左,右單支數 就能判斷 是錯的 對不對? 資料結構與演算法 二叉樹交換左右子樹演算法 4樓:匿名使用者 傳入樹的根結點即可: exchangelr(&root); //root為樹的根節點 void exchangelr(treenode *root) 5樓:id雞蛋炒韭菜 原來節點結構體抄: typedef struct node; 現在從新定義bai一個結構 typedef struct newnode; 然後用新du 樹的根指zhi向原樹的根 node* poldtree; 老樹 newnode* pnewtree = (newnode*)poldtree; 這樣省的交換了dao,省事吧 -_,- 我建議還是學資料結構和演算法 資料結構和演算法只是一種思維方法 是任何語言都必須的c和c 只是個工具 就好比你買了輛客車用來代步 你接下來是該學開車呢還是再去買一輛轎車呢?你不會開車買再多車也沒用 而資料結構演算法什麼的就是開車的方法 任何程式到後來都歸咎到了資料結構和演算法 最好先學c 後學資料結... 不一樣。資料結構,無論複雜或簡單,只是資料。演算法是計算機可執行的數值計算方法,它加工資料,產出資料。資料是原料和製成品。演算法是工廠,是生產流水線。演算法和資料有關,但兩者不一樣。蛋糕廠同雞蛋,麵粉有關,但蛋糕廠不同於原料。 碼寶寶呀 這個肯定是不一樣,有區別的。資料是一切能輸入計算機中的資訊的總... 武當單挑王 第一個第二個問題,就相當於你高中學的f x 沒什麼實際意義,也不用糾結 為什麼用t表示呢,代表時間 而一般所說的時間複雜度,都是用大o表示的 你學過函式應該知道,次數最高的那項對函式的增長影響最大,所以這裡可以忽略其他低次項 前面的係數也可以省去,對於這個程式的就是o n2 幻世萌 線性...C C資料結構 演算法,C C 資料結構 演算法
資料結構和演算法不一樣嗎,演算法和資料結構有什麼區別??
資料結構中演算法分析的問題