![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
文章平均质量分 62
小手WA凉
一名zzuli在校生
展开
-
双向链表+Map实现LRU
LRU是Least Recently Used的缩写,即最近最少使用,是一种常用的,选择最近最久未使用的页面予以淘汰。原创 2024-07-09 09:10:39 · 319 阅读 · 0 评论 -
【Java】构建哈夫曼树和输出哈夫曼编码
一个单位有12个部门,每个部门都有一部电话,但是整个单位只有一根外线,当有电话打过来的时候,由转接员转到内线电话,已知各部门使用外线电话的频率为(次/天):5 20 10 12 8 43 5 6 9 15 19 32。利用哈夫曼树算法思想设计内线电话号码,使得接线员拨号次数尽可能少。要求:(1)依据使用外线电话的频率构造二叉树;(2)输出设计出的各部门内线电话号码。原创 2023-12-09 17:29:17 · 551 阅读 · 0 评论 -
【Java】构建表达式二叉树和表达式二叉树求值
1. 实现一个简单的计算器。通过键盘输入一个包含圆括号、加减乘除等符号组成的算术表达式字符串,输出该算术表达式的值。要求:(1)系统至少能实现加、减、乘、除等运算;(2)利用二叉树算法思想求解表达式的值,先构造由表达式构成的二叉树,按中序、后序遍历的方式输出二叉树中的结点,然后再利用通过对二叉树进行后序遍历求解算术表达式的值。原创 2023-12-09 17:10:53 · 828 阅读 · 0 评论 -
中缀表达式转前缀表达式和中缀表达式转后缀表达式(利用栈实现)
1.创建两个空栈,一个用于操作符(Operator Stack),一个用于输出结果(Output Stack)2.对中缀表达式从右到左,一次遍历:3.i.如果是操作数,则压入Output栈ii.如果是运算符:a.如果当前Operator栈为空或该运算符为),则压入Output栈b.如果该运算符为(,则去匹配),将匹配过程中的所有运算符依次弹出并压入Output栈(弹出一个压入一个)。并将这两个括号舍弃c.否则如果该运算符优先级栈顶元素运算符优先级,则压入Output栈。原创 2023-09-24 18:52:51 · 99 阅读 · 0 评论 -
【Java】中缀表达式转后缀表达式和后缀表达式四则运算求值(栈)
实现一个简单的计算器,输入一个算术表达式,其运算符包含圆括号、加、减、乘、除、求余等符号,输出该算术表达式的值。要求:(1)系统至少能实现加、减、乘、除、求余等运算;(2)利用栈的后进先出特性实现;原创 2023-11-24 11:39:09 · 529 阅读 · 0 评论