一、堆棧
1、棧區
(1)棧區效率比堆區高,malloc分配的空間在堆區,臨時變量分配在棧區
(2)棧區由電腦自已清除,用完自動刪
2、堆區需要程序員清除,或者程序結束後由系統清除
3、堆區和棧區不會自動初始化,自動初始化會在未賦值的靜態/全局區
二、數據結構
1、紅黑樹
(1)優化了的二叉搜索樹,在犧牲嚴格限制平衡的條件下達到較高的搜索效率
(2)每次從樹中插入或者刪除元素後都會調整樹高
(3)二叉樹
2、B樹和B+樹
(1)每個節點可以有多個子樹(多度)
(2)B+樹所有關鍵字排在葉子節點,非葉子節點爲關鍵字的索引
(3)B樹關鍵之排序在樹的所有節點上
(4)B樹是一種平衡的多叉樹
(5)B+樹是一種多路搜索樹
3、AVL樹
平衡二叉樹
三、面向對象
1、三個基本元素
(1)繼承
(2)封裝
(3)多態
2、五個基本原則
(1)單一職責原則Single-Resposibility Principle
一個類只有一個引起它的變化,低耦合、高內聚
(2)開放封閉原則Open-Closed Principle
軟件實體對擴展開放,隊修改封閉
(3)Liskov替換原則 Liskov-Substituion Principle
子類必須能夠替換基類
(4)依賴倒置原則 Dependecy-Inversion Principle
依賴於抽象,高層模塊不依賴於底層模塊,二者都依賴於抽象
(5)接口隔離原則 Interface-Segregation Principle
使用多個小的專門的接口,而不要使用一個大的總接口