数据结构学习笔记
1、数据结构分为逻辑结构和物理结构。
1)逻辑结构分为:集合结构、线性结构(一对一)、树形结构(一对多)、图形结构(多对多)。
2)物理结构又称为存储结构,分为:顺序存储结构、链式存储结构。
2、算法的特性:输入、输出、有穷性、确定性和可行性。
算法的时间复杂度:记作:T(n)=O(f(n)). 它表示随问题规模n的增大,算法执行时间的增长率和f(n)的增长率相同,称作算法的渐进时间复杂度,简称为时间复杂度。
2)常数阶O(1)、线性阶O(n)、平方阶O(n^2)
线性表的顺序存储结构,指的是用一段地址连续的存储单元依次存储线性表的数据元素。
栈和队列:
栈是限定仅在表尾进行插入和删除操作的线性表。
队列是只允许在一端进行插入操作,而在另一端进行删除操作的线性表。
串是由零个或多个字符组成的有限序列,又名字符串。
二叉链表结构存储:
二叉树的遍历方法:
1、前序遍历:若二叉树为空,则返回空,否则先访问根节点,然后前序遍历左子树,再前序遍历右子树。
2、中序遍历:若树为空,则空操作返回,否则从根节点开始(并不是先访问根节点),中序遍历根节点的左子树,然后访问根节点,最后中序遍历右子树。
3、后序遍历:从左到右先叶子后节点的方式遍历访问左右子树,最后是访问根节点。
4、层序遍历:从树的第一层,也就是根节点开始访问,从上而下逐层遍历,在同一层中,按从左到右的顺序对节点逐个访问。