[問題] 二元樹特性問題

看板Examination (國家考試)作者 (天生我材)時間12年前 (2014/04/02 13:04), 12年前編輯推噓1(1011)
留言12則, 5人參與, 最新討論串1/1
請益一下,二元搜尋找到最大值,可以使用以下範例去證明之嗎。說明根的特性。 int left_child(int index) {return index * 2;} int right_child(int index) {return index * 2 + 1;} void binary_tree() { int tree[5 + 1]; cout << "根為" << tree[1]; cout << "根的左邊小孩是" << tree[left_child(1)]; cout << "根的右邊小孩是" << tree[right_child(1)]; } -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.39.12.135 ※ 文章網址: http://www.ptt.cc/bbs/Examination/M.1396415061.A.954.html

04/02 15:02, , 1F
你在寫什麼?? 說真的不是很能明白你要表達的意思
04/02 15:02, 1F
要利用二元搜尋找最大值,可以用這程式碼說明二元搜尋的特性嗎? 從根尋找判斷之大小,依序往下搜尋?? 這樣的程式碼可以被接受嗎?? ※ 編輯: oklp1415 (114.39.12.135), 04/02/2014 15:50:28

04/02 16:12, , 2F
我也看不懂,所謂二元搜尋是對已排序的數列搜尋吧,既然已
04/02 16:12, 2F

04/02 16:12, , 3F
排序那最後一個(或第一個)數就是最大值了不是嗎?
04/02 16:12, 3F

04/02 17:13, , 4F
其實你應該打用array實作tree時 node和其子樹的表示法就好
04/02 17:13, 4F

04/02 17:16, , 5F
找max就考慮root?=null(有無node) 用遞迴做 無右子樹就回
04/02 17:16, 5F

04/02 17:18, , 6F
傳node值 有右子樹就對其右子node做遞迴
04/02 17:18, 6F

04/02 17:21, , 7F
用array的話 先確定node=null時 要放什麼值來判定 用-1應
04/02 17:21, 7F

04/02 17:22, , 8F
該可以 用遞迴寫應該不會太長 試試看吧
04/02 17:22, 8F

04/02 17:34, , 9F
要找最大值,你給的程式根本看不出來是找最大值
04/02 17:34, 9F

04/02 20:59, , 10F
原PO的標題打binary tree, 內文打binary search
04/02 20:59, 10F

04/02 20:59, , 11F
可是看內容又感覺是在問binary search tree
04/02 20:59, 11F

04/04 03:09, , 12F
你得程式只能說明二元樹能用一維陣列表示而已
04/04 03:09, 12F
文章代碼(AID): #1JEvfLbK (Examination)
文章代碼(AID): #1JEvfLbK (Examination)