数据结构包括数据的逻辑结构,数据的存储结构和数据的运算
逻辑结构包括线性结构和非线性结构(集合,线性结构,树形结构,图形结构)
线性结构:元素关系一对一,第一个节点没有前驱节点,其余每一个节点只有一个前驱节点,最后一个节点没有后继节点,其余每个节点有且只有1个后继节点
线性结构的逻辑结构为线性表,物理结构为顺序表,链表,栈,队列
树形结构:元素关系一对多,树根结点没有 前驱 结点,其余每个结点有且只有 1 个前驱结点;叶子结点没有 后续 结点,其余每个结点的后续结点数可以 任意多个
树形结构可以用链式储存结构,也可以用顺序储存结构
图形结构:元素关系多对多,每个结点的前驱结点数和后续结点数可以 任意多个 。
数据的存储结构:顺序 、 链式 、 索引 、散列
数据的存储结构为计算机的内存表示
顺序储存结构:物理地址和逻辑地址相同并且是连续的
链式储存结构:不要求逻辑上相邻的元素在物理位置上也相邻
数据的运算: 插入 、 删除、修改、 查找 、排序 。
算法的特性:
输入,输出,可行性,有穷性,确定性
算法分析的主要两个方面:
时间复杂度和空间复杂度