首页 > 其他分享 >day3

day3

时间:2024-09-11 22:25:48浏览次数:1  
标签:队列 元素 day3 链表 基本操作 数据结构 节点

今天学习了数据结构


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

标签:队列,元素,day3,链表,基本操作,数据结构,节点
From: https://www.cnblogs.com/wjhfree/p/18409125

相关文章

  • 《C++ Primer Plus》学习day3
    C++11新增的内容:char16_t和char32_tchar16_t:无符号,16位,使用前缀u表示char_16字符常量和字符串常量;char32_t:无符号,32位,使用前缀U表示char32_t常量浮点类型C++有三种浮点类型:float、double、longdouble头文件cfloat中对对浮点数进行了限制:比如最低有效位......
  • 变量&数据类型 Day3
    1.变量1.1变量的概念变量是计算机内存中的一块存储单元,是存储数据的基本单元变量的组成包括:数据类型、变量名、值,后文会具体描述变量的本质作用就是去记录数据的,比如说记录一个人的身高、体重、年龄,就需要去程序中记录数据,而不同的数据使用不同的数据类型去存储,后文会具......
  • 信息安全学习day3
    Day3Linux文件与目录管理2024年9月2日14:14Linux文件与目录管理01命令格式Rm 命令  -rf选项   /*参数(命令不可以省略,选项参数可以缺省规范1.必须有命令2.命令选项参数之间要有空格3.命令区分大小写4.顺序(大部分情况顺序不影响)命令选项详细资料Linu......
  • 嵌入式day38
    内存泄漏:手动申请的空间没有及时释放,导致系统发生内存泄漏valgrind:在程序运行过程中,测试是否发生内存泄露快慢指针法:链表倒置:链表插入排序:双向链表:双向链表与单向链表的区别:单向链表(SinglyLinkedList)结构:单向链表的每个节点包含两部分信息:一部分是存储的数据(da......
  • leetcode刷题day3|链表部分( 203.移除链表元素、707.设计链表、206.反转链表)
    前言:链表部分之前刷过一些题,掌握的还可以,希望可以顺利把这部分题刷完。203.移除链表元素思路:自己创建一个头节点,使新的头节点指向旧的头节点。错误尝试:一开始考虑的比较复杂,设置了指针pre,能够想到直接比较cur.next.val和val的值会使代码更加简洁,但也要注意想清楚如果删除......
  • day37-测试之抓包工具Charles、Fiddler
    目录一、抓包工具Charles    1.1.Charles是什么    1.2.Charles工作原理    1.3.Charles主要功能    1.4.Charles优点    1.5.Charles安装    1.6.Charles组件介绍        1.7.Charles设置    1.8.C......
  • 代码随想录算法day3 - 链表1
    题目1203.移除链表元素给你一个链表的头节点head和一个整数val,请你删除链表中所有满足Node.val==val的节点,并返回新的头节点。示例1:输入:head=[1,2,6,3,4,5,6],val=6输出:[1,2,3,4,5]示例2:输入:head=[],val=1输出:[]示例3:输入:head=[7,7,7,7],v......
  • 算法笔记|Day34动态规划VII
    算法笔记|Day34动态规划VII☆☆☆☆☆leetcode198.打家劫舍题目分析代码☆☆☆☆☆leetcode213.打家劫舍II题目分析代码☆☆☆☆☆leetcode337.打家劫舍III题目分析代码☆☆☆☆☆leetcode198.打家劫舍题目链接:leetcode198.打家劫舍题目分析1.dp数组含义:d......
  • 代码随想录day39 || 198 打家劫舍,213 打家劫舍||,337 打家劫舍|||
    198打家劫舍funcrob(nums[]int)int{ //思路,动态规划 //dp[i]代表前下标为i能装的最大盗窃物品价值 //递推dp[i]=max(dp[i-1],dp[i-2]+v(i))//dp[i-1]代表不偷物品i,dp[i-2]+v(i)代表偷物品i,那么就不能偷i-1,因为题目要求不能相邻,所以考虑前i-2 //dp[0]=0,......
  • 24暑假算法刷题 | Day39 | 动态规划 VII | LeetCode 198. 打家劫舍,213. 打家劫舍 II,33
    目录198.打家劫舍题目描述题解213.打家劫舍II题目描述题解337.打家劫舍III题目描述题解打家劫舍的一天......