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