数据结构与算法
文章平均质量分 54
半岛铁子_
那就叫小胡吧
展开
-
二叉树的广度优先遍历(BFS)与深度优先遍历(DFS)的算法思想与java实现
文章目录概述广度优先遍历(BFS)算法思想代码实现深度优先遍历(DFS)算法思想代码实现1. 递归实现2. 非递归(栈)实现参考资料概述深度优先遍历(Depth First Search, 简称 DFS) 与广度优先遍历(Breath First Search)是遍历树和图的两种非常重要的算法,本文通过相关资料学习,记录BFS与DFS的算法思想与代码实现。本文章主要是对二叉树的遍历进行叙述,后续更新图的BFS和DFS遍历。广度优先遍历(BFS)广度优先遍历,指的是从图的一个未遍历的节点出发,先遍历这原创 2022-05-13 21:53:42 · 782 阅读 · 1 评论 -
Java之Coolections.sort()介绍与示例
文章目录题目依托解法测试结果Collections.sort() 详解Comparable接口示例代码测试结果Comparator接口参考博客题目依托本题来自2022年蓝桥杯省赛第一场题目:解法构建num类,包含数值的大小和各位数字之和;用 Vector 保存 n 个 num 对象,利用Coolections.sort() 重写排序,实现题解。Java 代码如下 :package com.lanqiao;import java.util.Collections;import java.u原创 2022-05-13 15:55:37 · 372 阅读 · 0 评论 -
StringBuffer类
概述在 Java 中,除了通过 String 类创建和处理字符串之外,还可以使用 StringBuffer 类来处理字符串。StringBuffer 类可以比 String 类更高效地处理字符串。StringBuffer 类是可变字符串类,创建 StringBuffer 类的对象后可以随意修改字符串的内容。每个 StringBuffer 类的对象都能够存储指定容量的字符串,如果字符串的长度超过了StringBuffer 类对象的容量,则该对象的容量会自动扩大。创建 StringBuffer 类Str原创 2022-03-19 21:32:12 · 321 阅读 · 0 评论 -
双向链表按编号顺序添加
实现双向链表按照编号的顺序进行添加,不允许添加编号已经存在的节点。代码实现: //Node类 class Node{ public int no; //节点的顺序 public Node next; // 指向下一个节点 public Node pre; // 指向前一个节点 //构造方法 public Node(int no) { this.no = no; }...原创 2021-12-24 09:36:47 · 1160 阅读 · 0 评论 -
合并两个有序单链表,合并后的单链表也有序
思路:创建一个新的头节点,从第一个有效数据开始比较链表1和链表2的顺序值,将顺序值小的节点放到新创建头结点的后面,依次循环。代码实现: //合并两个有序的单链表,合并后的新链表仍然有序 public Node merge(Node head1, Node head2) { //若有一个链表为空,无需合并 if(head1.next == null || head2.next == null) { return null; } //若链表1为空,返回链表2的原创 2021-12-22 16:52:05 · 1319 阅读 · 0 评论 -
将二维数组转化成稀疏数组,并写入文件,再读取并转化成为原二维数组
当一个数组中大部分元素为0而非0元素很少,或者为同一个值的数组时,可以使用稀疏数组来保存该数组,从而降低内存的消耗。 如果原二维数组是n*n的数组,其中非0元素的数据共有m个,则稀疏数组为(m+1) * 3的数组,第一行存储二维数组的行、列以及非0元素的总数,其余各行分别存放非0元素所在行、所在列以及元素值。 下面是代码实现: 将二维数组转化成为稀疏数组,并利用IO流写入到文件中,从文件中进行读取并将其恢复成为原二维数组。packa...原创 2021-12-14 15:11:16 · 457 阅读 · 0 评论