學習總結2019 5 15

2021-09-22 18:59:39 字數 2250 閱讀 9440

二分法和單調佇列的專題結束了,對於做題情況很不滿意。最近這幾個專題做題的效率都很低,學習起來也有些吃力,總是看的時候感覺懂了,可實際做起題來卻發現還差得遠呢。這兩天在做usaco上的題,感覺剛開始這幾道難度還可以,希望後面不會太難。有一次提交的時候忘記把讀檔案的**注釋掉了,這個老師之前強調過的,還是犯了實在不應該,以後一定要更加小心才行。

接下來總結一下二叉樹bt

性質

1.在二叉樹的第i層上最多有2^(i-1)個結點(i>=1)

2.深度為k的二叉樹至多有2^k –1個結點(k>=1)注:一棵深度為k且有2k–1個結點的二叉樹稱為滿二叉樹。

3.對任意一棵二叉樹,如果其葉結點數為n0,度為2的結點數為n2,則一定滿足:n0=n2+1。

4.具有n個結點的完全二叉樹的深度為floor(log2n)+1

5.對於一棵n個結點的完全二叉樹,對任乙個結點(編號為i),有:①如果i=1,則結點i為根,無父結點;如果i>1,則其父結點編號為i/2。如果2i>n,則結點i無左孩子(當然也無右孩子,為什麼?即結點i為葉結點);否則左孩子編號為2i。②如果2i+1>n,則結點i無右孩子;否則右孩子編號為2i+1。

二叉樹的儲存結構

鏈式儲存結構,即單鏈表結構或雙鏈表結構(同樹)

typedef struct node;

typedef node *tree;

struct node

;  tree bt;

或:typedef struct node;

typedef node *tree;

struct node

;  tree bt;

順序儲存結構,即幾個陣列加乙個指標變數

const int n = 10;

char data[n];

char lchild[n];

char rchild[n];

int bt; //根結點指標

先序遍歷的操作:

若二叉樹為空,則空操作,否則

①訪問根結點

②先序遍歷左子樹

③先序遍歷右子樹

void preorder(tree bt)  //先序遍歷根結點為bt的二叉樹的遞迴演算法

}

中序遍歷的操作:

若二叉樹為空,則空操作,否則

①中序遍歷左子樹

②訪問根結點

③中序遍歷右子樹

void inorder(tree bt)  //中序遍歷根結點為bt的二叉樹的遞迴演算法

}

後序遍歷的操作:

若二叉樹為空,則空操作,否則

①後序遍歷左子樹

②後序遍歷右子樹

③訪問根結點

void postorder(tree bt)  //後序遍歷根結點為bt的二叉樹的遞迴演算法

}

建立一棵二叉樹

void pre_crt(tree &bt) //按先序次序輸入二叉樹中結點的值,生成

else bt = null;

}

刪除二叉樹

void dis(tree &bt)           //刪除二叉樹

}

插入乙個結點到排序二叉樹中

void insert(tree &bt, int n)    //插入乙個結點到排序二叉樹中

else

}

在排序二叉樹中查詢乙個數,找到返回該結點,否則返回null

tree findn(tree bt, int n)  //在二叉樹中查詢乙個數,找到返回該結點,否則返回null。

else return null;

}

巢狀括號表示法輸出二叉樹

void print(tree bt)           //用巢狀括號表示法輸出二叉樹

}}

2019 5 15 空格替換

題目 方式一 使用replaceall 語句。將滿足條件的全部替換 public class solution方式二 思路 通過乙個建立乙個新的字串 每當遇見空格則拼接 20 否則則拼接原來的字元 public class solution else return string.valueof ch...

小組會談(2019 5 15)

一 會議主題 1 計畫對初步完成的介面進行優化設計 2 對其他未完成的介面繼續進行設計 3 對下一步的工作進行安排及分工。二 會議地點 逸夫樓一樓 三 會議時間 5月15日16 00 17 00 四 會議內容 1 對之前完成的介面設計進行修改 2 繼續優化功能 3 對後一步的文件編寫以及系統開發進行...

學習後總結,總結後再學習

學習後總結,總結後再學習 2010年畢業以來,讀了幾百本書籍,包括it技術 管理 歷史 營銷 金融 心理等等,在讀某商學院mba一年後感覺有些東西還是要寫寫,除了能增加自己對某些知識和理論的理解外,也許其他人也碰巧想關注一下,了解這方面的東西。我所寫的都是一些簡單的概念層面的解釋,不會做太深入的闡述...