![](https://img-blog.csdnimg.cn/20190918135101160.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
数据结构
java实现数据结构
搏·梦
向前看,奋起直追。
展开
-
数据结构--------队列(链表,数组实现)
文章目录1 队列1 概念2 代码实现(链表)3 代码实现(数组)1 队列1 概念队列是一种基于先进先出(FIFO)的数据结构,是一种只能在一端进行插入,在另一端进行删除操作的特殊线性表,它按照先进先出的原则存储数据,先进入的数据,在读取数据时先读被读出来。图解:2 代码实现(链表)原理:head为头节点,last指向最后一个节点,每次进行尾插法即插到last的后面,这样子就可以保证先进先出原则。图解:代码:import java.util.Iterator;/**原创 2020-08-17 17:52:00 · 150 阅读 · 0 评论 -
栈的应用----括号匹配 与 逆波兰表达式求值
文章目录1 括号匹配问题2 逆波兰表达式求值问题1 中缀表达式2 逆波兰表达式(后缀表达式)3 逆波兰表达式求值1 括号匹配问题问题:给定一个字符串,里面可能包含"()"小括号,请编写程序检查该字符串中的小括号是否成对出现。例如:(hello) 正确 ((hello)())正确 (hello))错误问题分析:需要匹对小括号成对出现,那我们只需要先把左括号全部存储起来,然后出现一个右括号,就匹配一个左括号,直到右括号没有了,且左括号的数量为0,则表示完全匹配成功。当原创 2020-08-16 15:18:22 · 179 阅读 · 0 评论 -
数据结构-------栈(数组、链表实现)
栈是一种先进后出的数据结构,是一种只能在一端进行插入和删除操作的线性表。它按照先进后出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据(最后一个数据被第一个读出来)。数据进入到栈的动作为压栈(入栈),数据从栈中出去的动作为出栈。原理图:栈是一种逻辑结构,具体存储实现是考虑物理存储结构,即顺序存储结构(数组)和链式存储结构(链表)。链表实现栈:import java.util.Iterator;/** * @author ..原创 2020-08-16 13:27:41 · 196 阅读 · 0 评论 -
数据结构-------单链表反转(面试)
文章目录1.递归方法1.1 递归介绍1.2 递归解决单链表反转2.非递归方法1.递归方法题目:原链表中的数据为:0–>1–>2–>3–>4反转后链表中数据为:4–>3–>2–>1–>01.1 递归介绍递归定义:在定义方法的时候,在方法内部调用方法自身。作用:通常把一个大型复杂的问题,层次转换为一个与原问题相似的,规模较小的问题来解决。递归策略只需要少量的程序就可以描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。注意事项:在递归中,原创 2020-08-15 11:32:01 · 165 阅读 · 0 评论