day3

今天学习了数据结构


  1. 定义:栈是一种线性数据结构,遵循“后进先出”的原则,即最后放入栈中的元素最先被取出。
    基本操作:
    push(item):将元素压入栈中。
    pop():从栈顶弹出元素。
    peek():查看栈顶元素,但不移除它。
    isEmpty():检查栈是否为空。
    实现方式:可以使用数组或链表实现。
  2. 队列
    定义:队列是一种线性数据结构,遵循“先进先出”(FIFO)的原则,即最先放入队列中的元素最先被取出。
    基本操作:
    enqueue(item):将元素添加到队列的尾部。
    dequeue():从队列的头部移除元素。
    peek():查看队列头部的元素,但不移除它。
    isEmpty():检查队列是否为空。
    实现方式:可以使用数组或链表实现。常见的变体有双端队列,支持从两端插入和删除。
  3. 数组
    定义:数组是一种线性数据结构,由一组具有相同类型的元素组成,这些元素在内存中是连续存储的。
    基本操作:
    访问:通过索引直接访问元素。
    修改:通过索引修改元素的值。
    插入/删除:在固定大小的数组中,插入或删除元素需要移动其他元素,时间复杂度较高。
  4. 链表
    定义:链表是一种线性数据结构,由一系列节点组成,每个节点包含数据和指向下一个节点的引用(或指针)。
    基本操作:
    插入:在链表的指定位置插入新节点。
    删除:删除链表中的指定节点。
    遍历:访问链表中的每个节点。
    类型:
    单链表:每个节点只包含指向下一个节点的指针。
    双链表:每个节点包含指向下一个节点和上一个节点的指针。
    循环链表:最后一个节点指向第一个节点,形成一个环。
posted @ 2024-09-11 22:22  Look_Back  阅读(6)  评论(0编辑  收藏  举报