摘要:
5. 图 图由顶点和边组成。 G(V, E):其中,G表示图,V表示顶点的集合,E表示边的集合 5.1 基本概念 无向图和有向图 无向图:边没有方向,代表双方有关系/联系,可以理解为双箭头 有向图:边有方向,单项的关系/联系,可以理解为单箭头 无权图和有权图 无权图:只关注是否有关系,不关心关系的强 阅读全文
摘要:
4. 队列(queue)) 4.1 简介 队列是先进先出(FIFO, First In, First Out)的线性表 常由链表或数组实现: 顺序队列:数组实现的队列 链式队列:链表实现的对她 队列只允许在**后端(raer)进行插入操作(入队,enqueue);在前端(front)**进行删除操作 阅读全文
摘要:
3. 栈(stack) 3.1 简介 栈只允许在有序的线性数据集合的一端(栈顶top)进行加入数据(push)和移除数据(pop)。 栈只能在栈顶进行push和pop操作。 后进先出(LIFO,Last In First Out) 常用一维数组或链表实现: 顺序栈:数组实现 链式栈:链表实现 执行复 阅读全文
摘要:
2. 链表(LinkedList) 2.1 简介 链表是一种线性表,但不按线性顺序存储,存储数据的内存空间不连续 执行复杂度: 插入和删除:O(1),仅需要知道目标元素的上一个元素 查找和访问特定节点:O(n) 与数组相比: 非随机访问:存取第N个数据时需要访问前(N-1)个数据 容量不固定,支持动 阅读全文
摘要:
1. 数组(Array) 数组由相同类型的元素组成 数组使用一块连续的内存存储,可以由索引计算元素对应的存储地址。 特点: 提供随机访问:存取第N个数据时不需要访问前(N-1)个数据,可以直接对第N个数据进行操作 容量有限(长度一旦确定,无法改变) 执行复杂度: 访问:O(1) 插入:O(n) 插入 阅读全文