1.软件设计思想---分层
逻辑层:实现功能需求的,
物理层:用语言开发,性能方面,实现方式
如,数组(ArrayList)、单链表(LinkedList)(物理层)实现List接口(逻辑层),List接口具有一些增删改查的功能
二叉树,以数组形式实现
二叉树就是逻辑层,数组是物理层
树是一个非线性结构,映射到物理层以线性结构存储起来
2.算法思想
(1)算法思想,就是在我们遇到问题时候,没有什么思路的时候,就可以朝这些方向去想,如;递归,动态规划,分治算法,查找
计算机里面的都是离散的,证明离散最好的方法,就是用数学归纳法
数学归纳法就是算法思想
递归,在逻辑层,是数学归纳法的体现;在物理层,是程序调用栈的使用
(2)遍历算法(每个节点只能访问一遍)
深度优先:
广度优先:
按层次遍历,使用队列