20182316胡泊 第9周學習總結

2022-08-21 08:30:19 字數 2682 閱讀 6531

什麼是樹

1.樹的概念:

2.樹的分類

按樹是否平衡來劃分

樹的遍歷

public void preorder (arraylistiter)
public void inorder(arrayiteratoriter)
public void postorder(arrayiteratoriter)
public void levelorder(treenode root)

if(temp.right!=null)}}

二叉樹

操作:二叉查詢樹實現

遞迴實現

public void find(t element)

private void find(binarytreenode root, t element)

int comparable = element.compareto(root.getelement);

if (comparable > 0)

else if (comparable < 0)

else

}

若所插入結點的元素大於或等於根結點的元素

刪除二叉查詢樹的刪除我感覺很複雜,那乙個二叉排序樹實踐的刪除操作做了我兩個小時。

我們先來討論一下刪除的情況:

public leaf findparent(int a)

}else

break;

}return parent;

}

- 三種情況的**:
public void delete(int a)

else if(parent.left==current)

}else if(current.right!=null&¤t.left!=null)

else if(current.left!=null&¤t.right==null)

else

}

左旋和右旋

右左旋和左右旋

問題2:為什麼二叉查詢樹不平衡,查詢效率就會變低

問題2解決方法:

問題3:書上決策樹中提到的is-a關係是什麼關係?

問題3解決方法:

我的理解:is-a,例如hupo is a student,胡泊是乙個學生,胡泊就繼承了學生的所有屬性與功能,但胡泊是學生的乙個特例,即胡泊同時還具有其他屬性。

else if(current.right!=null&¤t.left!=null)
**的功能就是找到前驅結點,將值賦給刪除結點,然後遞迴刪除前驅結點(這裡刪的是值等於p的結點!!)

也就是說我在將前驅結點的值賦給了被刪結點後,再呼叫delete方法刪除值等於p的結點,於是就反覆刪除該結點,而真正要被刪除的前驅結點卻依然存在,最終導致一直滑到了最小的結點

解決方法:找到了原因,解決它其實很簡單,就是將刪除與賦值的順序反過來,先將前驅節點的值儲存到變數p中,然後刪除前驅結點,最後將p賦給被刪結點,就完成了。**如下:

正確答案: c 我的答案: b

**中值得學習的或問題:

基於評分標準,我給本部落格打分:14分。得分情況如下:

正確使用markdown語法(加1分):

模板中的要素齊全(加1分)

教材學習中的問題和解決過程(2分)

**除錯中的問題和解決過程(3分)

本週有效**超過300分行的(加1分)

其他加分:

**行數(實際/預期)

部落格量(新增/累積)

學習時間(新增/累積)

重要成長

目標10000行

第一周119/119

3/320/20

第二週302/300

2/525/45

第三週780/800

2/725/70

第四周1500/1300

2/925/95

第五周3068/2500

3/12

25/120

第六周4261/4000

2/14

25/145

第七、八周

7133/7000

3/17

25/170

第九周10330/10000

3/20

25/195

第9周作業

題1 檢視記憶體占用情況 root use01 ps auxh awk sort k 2 t nr head 6595 1.7 6049 1.4 6104 0.8 6097 0.6 6048 0.6 6853 0.5 6733 0.4 6732 0.4 6598 0.4 6596 0.4題2 迴圈p...

部落格第9周

1.計算 100 以內所有能被 3 整除的整數之和 bin bash sum 0 for i in do if 0 eq i 3 then echo i let sum i fiecho sum sum done 或seq s 3 3 100 bc 2.編寫指令碼,求 100 以內所有正奇數之和 b...

第9周程式設計作業

敲 是真的累,這章要打好多字 題目內容 設計乙個person類,包含name age 屬性以及對這些屬性操作的方法。實現並測試這個類。根據類的封裝性要求,把name age 宣告為私有的資料成員,宣告公有的成員函式register showme 來訪問這些屬性,在register 函式中對資料成員進...