一、堆栈
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
使用多个小的专门的接口,而不要使用一个大的总接口