logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

数据结构-栈与队列

实际应用中,队列常衍生出优先级队列(按优先级排序,而非入队顺序)、双端队列(Deque,两端均可入队出队)等变体,多用于任务调度、消息队列、广度优先搜索(BFS)等场景,Java 的 Queue 接口、C++ 的 std::queue 均为标准实现。其核心操作仅围绕栈顶进行:入栈(push)是将元素添加到栈顶,出栈(pop)是移除栈顶元素, peek 操作可查看栈顶元素而不删除,同时支持 isEm

#数据结构
数据结构基本知识

• 队列:“先进先出”(FIFO),允许在队尾入队、队首出队,支持enqueue(入队)、dequeue(出队),基础队列O(1)操作,优先级队列(按优先级排序)O(logn)操作,常用于任务调度、广度优先搜索(BFS)。• 栈:“先进后出”(LIFO),仅允许在栈顶操作,支持push(入栈)、pop(出栈)、peek(查看栈顶),时间复杂度均为O(1),常用于递归、表达式求值、括号匹配。• 表示

#数据结构
数据结构基本知识

• 队列:“先进先出”(FIFO),允许在队尾入队、队首出队,支持enqueue(入队)、dequeue(出队),基础队列O(1)操作,优先级队列(按优先级排序)O(logn)操作,常用于任务调度、广度优先搜索(BFS)。• 栈:“先进后出”(LIFO),仅允许在栈顶操作,支持push(入栈)、pop(出栈)、peek(查看栈顶),时间复杂度均为O(1),常用于递归、表达式求值、括号匹配。• 表示

#数据结构
Java 可变长的字符串

• append(Xxx x):追加任意类型数据(如字符串、数字、对象),是最常用的方法。,执行后结果为“年龄:25”。• StringBuffer:可变,线程安全(方法加 synchronized 锁),效率低(存在锁开销),核心用于多线程环境(如多线程日志拼接)。• StringBuilder:可变,线程不安全(无同步锁),效率高,核心用于单线程环境(如普通业务逻辑、循环拼接字符串)。• St

#java
Java Map集合体系

2. 扩容机制:初始容量为16,负载因子为0.75(当元素个数达到16×0.75=12时触发扩容),每次扩容后容量变为原来的2倍(保证哈希计算时用位运算,提升效率)。Map是键值对(Key-Value) 存储的集合,核心特点是Key唯一、Value可重复,作用类似字典,能通过Key快速定位Value。• V put(K key, V value):添加或修改键值对(Key已存在时,会覆盖原有Val

#java
Java IO核心内容

Java IO(Input/Output)用于处理设备间的数据传输,核心是“流”(Stream),即数据按顺序流动的通道,分为输入流(读数据)和输出流(写数据),且所有流都实现了 AutoCloseable 接口,推荐用 try-with-resources 自动关闭,避免资源泄漏。• 核心父类:InputStream(输入字节流,读数据)、OutputStream(输出字节流,写数据),均为抽象

#java
Java 字符流进阶

• InputStreamReader:将字节输入流(如FileInputStream)转换为字符输入流,可指定编码(如UTF-8、GBK)。• StringReader/StringWriter:以字符串为数据源/目标,无需操作文件,常用于字符串的IO风格处理(如解析字符串内容)• BufferedReader:自带8KB缓冲区,新增readLine()方法,可直接读取整行文本(无需自己拼接字符

#java
Java File类

1. 绝对路径:从根目录(如C盘、/Users)开始的完整路径,例:new File("D:/test.txt")(Windows)、new File("/Users/test.txt")(Mac/Linux)。• getName():获取文件/目录的名称(不含路径),例:new File("D:/test/a.txt").getName() 返回“a.txt”。• mkdir():创建单层目录,

#java
Java 线程核心内容

• 线程状态:共6种,分别是NEW(新建)、RUNNABLE(可运行)、BLOCKED(阻塞)、WAITING(等待)、TIMED_WAITING(计时等待)、TERMINATED(终止),状态转换需通过start()、wait()、sleep()等方法触发。◦ volatile:修饰变量,保证变量的“可见性”(一个线程修改后,其他线程能立即看到)和“禁止指令重排序”,但不保证原子性(如i++仍需

#java
Java 线性进程核心内容

线性表是n个数据元素的有序序列,元素间呈“一对一”逻辑关系(除首尾元素外,每个元素有唯一前驱和后继),常见实现:数组(顺序表)、链表。• 存储特点:元素(节点)分散存储,每个节点含数据域和指针域(指向下一节点),无需连续内存。• 优先用链表:插入删除频繁、元素数量不确定(如增删购物车商品)。2. 插入/删除:O(n)(需移动后续元素腾出位置或填补空缺);2. 插入/删除:O(1)(找到节点后,仅需

#java
    共 32 条
  • 1
  • 2
  • 3
  • 4
  • 请选择