Java数据结构与算法-环形队列 ### 队列介绍 - 队列是一个有序列表,可以用数组或是链表来实现 - 遵循先入先出的原则。即:先存入队列的数据,要先取出。后存入的数据要后取出 #### 数组模拟环形队列 ##### 分析说明: - 尾索引rear的下一个为头索引时表示队列满,即将队列容量空出一个作为约定,这个在做判断队列满的时候需要注意(rear + 1) % maxSize = front (满) - rear == fr 2020-08-23 浏览(1,591) 评论(1) 阅读全文
Java8 Math新增方法 引用至:https://blog.csdn.net/neweastsun/article/details/79873698 ## java8 Math新增方法 通常都认为java8新功能主要包括函数式编程及lambda表达式。然而,除了那些大的特点之外,还有其他的,影响力小却很有趣,大多时候不为人所知,甚至不太被人评论。 本文我们列举java.lang.Math类中新增的方法,并给一些小的示例 2020-06-02 浏览(1,692) 评论(0) 阅读全文
优先队列-二叉堆-堆排序原理-Java相关API ### 完全二叉树概念 - 除了最后一层,前面所有层都是满的 - 最后一层是从左到右 - 是一个二叉树 ### 堆 - 满足完全二叉树 - 父节点存储的元素比子节点大 ### 上浮 - 不符合堆规则的节点,与父节点交换 - 直到上浮到符合为止 ### 下沉 - 不符合规则的点,与子节点中较大的交换 - 直到符合为止 ### 入队 - 待插入元素放到堆的最后面 - 然后上浮至合适位置 - 2020-05-27 浏览(2,519) 评论(0) 阅读全文
BFS广度优先算法, DFS深度优先算法,Python,队列实现,栈实现 来源:https://www.bilibili.com/video/BV1Ks411575U/?spm_id_from=333.788.videocard.0 ``` graph = { "A": ["B", "C"], "B": ["A", "C", "D"], "C": ["A", "B", "D", "E"], "D": ["B", "C", "E", "F" 2020-05-21 浏览(1,813) 评论(0) 阅读全文
JAVA中BigDecimal的字符化输出 BigDecimal是处理高精度的浮点数运算的常用的一个类 当需要将BigDecimal中保存的浮点数值打印出来,特别是在页面上显示的时候,就有可能遇到预想之外的科学技术法表示的问题。 一般直接使用 BigDecimal.toString()方法即可以完成浮点数的打印。 如: System.out.println( new BigDecimal("10000000000").toS 2020-05-21 浏览(1,258) 评论(0) 阅读全文
Java常用类库-AutoCloseable ### 继承AutoCloseable - 过实现AutoCloseable可以实现自动关闭 - 自动关闭需要借助try-catch语句 示例代码: ``` interface IMessage extends AutoCloseable{ void send(String msg); } class NetMessage implements IMessage{ public 2020-05-19 浏览(1,199) 评论(0) 阅读全文
动态规划四步骤 ### 确定状态 - 研究最优策略的最后一步 - 化为子问题 ### 转移方程 - 根据子问题定义直接得到 ### 初始条件和边界情况 - 细心,考虑周全 ### 计算顺序 - 利用之前的计算结果 2020-05-19 浏览(1,482) 评论(0) 阅读全文
红黑树的规则 1.每个节点的颜色不是黑色就是红色 2.根节点是黑色 3.每个叶子节点(NIL)是黑色 4.如果一个节点是红色,那么它的两个子节点都是黑色 5.从任一节点到其每个叶子的所有简单路径,都包含相同数目的黑色节点 2020-05-09 浏览(836) 评论(0) 阅读全文