自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

汤小萌的博客

分享交流学习

  • 博客(31)
  • 资源 (1)
  • 收藏
  • 关注

原创 二叉树的序列化与反序列化 -- 两种实现

package class_04;import java.util.LinkedList;import java.util.Queue;public class Code_04_SerializeAndReconstructTree { public static class Node { public int value; public Nod...

2018-07-31 12:26:07 266

原创 在二叉树中找到一个节点的后继节点

package basic_class_04;/** * 在二叉树中找到一个节点的后继节点 * 该结构比普通二叉树节点结构多了一个指向父节点的parent指针。 * 假 设有一 棵Node类型的节点组成的二叉树,树中每个节点的parent指针 都正确地指向 自己的父节点,头节点的parent指向null。 * 只给一个在 二叉树中的某个节点 node,请实现返回node的后继节点的函数...

2018-07-31 10:10:45 247

原创 二叉树的先序,中序,后序遍历 -- 包含递归和非递归版本

package basic_class_04;import java.util.Stack;/** * 实现二叉树的先序、中序、后序遍历,包括递归方式和非递归 方式 * @author lenovo * */public class Code_01_PreInPosTraversal_1 { public static class Node { pub...

2018-07-31 09:41:39 205

原创 两个单链表相交的一系列问题

【题目】在本题中,单链表可能有环,也可能无环。给定两个 单链表的头节点 head1和head2,,这两个链表可能相交,也可能 不相交。请实现一个函数, 如果两个链表相交,请返回相交的 第一个节点;如果不相交,返回null 即可.要求:如果链表1 的长度为N,链表2的长度为M,时间复杂度请达到 O(N+M),额外 空间复杂度请达到O(1)。这个问题是比较复杂了,在代码里面分析不太清,得...

2018-07-30 21:18:20 189

原创 复制含有随机指针节点的链表

package basic_class_03;import java.util.HashMap;import java.util.Map;/** * 复制含有随机指针节点的链表 * Node类中的value是节点值, * next指针和正常单链表中next指针的意义 一 样, * 都指向下一个节点, * rand指针是Node类中新增的指针, * 这个指 针可 能指向链表中...

2018-07-30 20:19:50 316

原创 将单向链表按某值划分成左边小、中间相等、右边大的形式 -- 两种方法 -- 有少许作者分析

package basic_class_03; /** * 将单向链表按某值划分成左边小、中间相等、右边大的形式 * @author lenovo * */ public class Code_12_SmallerEqualBigger {public static class Node { public int value; public Node nex...

2018-07-30 18:53:21 357

原创 判断一个链表是否为回文结构 -- 三种实现方式 -- 由易到难

package basic_class_03;import java.util.Stack;/** * 判断一个链表是否为回文结构 * @author lenovo * */public class Code_11_IsPalindromeList { public static class Node { public int value; ...

2018-07-30 16:19:35 487

原创 “之”字形打印矩阵 -- 包含作者的分析思路

package basic_class_03;/** * "之" 字型 打印矩阵 * @author lenovo * */public class Code_08_ZigZagPrintMatrix { public static void printMatrixZigZag(int[][] martix) { int tR = 0; i...

2018-07-30 12:08:05 323

原创 反转单向和双向链表

【题目】 分别实现反转单向链表和反转双向链表的函数。 【要求】 如果链表长度为N,时间复杂度要求为O(N),额外空间 复杂度要求为O(1)package basic_class_03;/** * 反转单向和双向链表 * 【题目】 分别实现反转单向链表和反转双向链表的函数。 * 【要求】 如果链表长度为N,时间复杂度要求为O(N),额外空间 复杂度要求为O(1) * * ...

2018-07-30 11:29:53 236

原创 旋转正方形矩阵 【题目】 给定一个整型正方形矩阵matrix,请把该矩阵调整成 顺时针旋转90度的样子。

只需要保证边界上的位置变化不会乱,那么里面的元素位置也不会乱需要打印一个点,如何找到其他的三个点,进行位置的变化,具体如何找到其他的三个点,就看你的coding能力了package basic_class_03;/** * 旋转举证 * * @author lenovo */public class Code_05_RotateMatrix_1 { public ...

2018-07-30 10:49:26 728

原创 转圈打印矩阵 -- 作者分析【题目】 给定一个整型矩阵matrix,请按照转圈的方式打印它

package basic_class_03;/** * 转圈打印矩阵: * 思路: 如果只是从局部去求解,考虑下标识如何变换的,那么这个题目算是写废了 * 这道题目锻炼的是一种宏观的的调度能力,不要限制在局部上 * 当然角标如何变幻的细节 以及边际还得自己去扣 * @author lenovo * */public class Code_06_PrintMatrixSpira...

2018-07-30 09:53:17 850

原创 猫狗队列问题 -- 基本算法 包含作者分析过程

package basic_class_03;import java.util.LinkedList;import java.util.Queue;/** * 猫狗队列 : * 用户可以调用add方法将cat类或dog类的 实例放入队列中; * 用户可以调用pollAll方法,将队列中所有的实例按照进队列 的先后顺序依次弹出; * 用户可以调用pollDog方法,将队列中...

2018-07-30 09:32:17 458

原创 如何仅用队列结构实现栈结构? 如何仅用栈结构实现队列结构?

package basic_class_03;import java.util.LinkedList;import java.util.Queue;import java.util.Stack;/** * * 如何仅用队列结构实现栈结构? * 如何仅用栈结构实现队列结构? * @author lenovo * */public class Code_03_StackA...

2018-07-29 10:17:27 310

原创 实现一个特殊的栈,在实现栈的基本功能的基础上,再实现返 回栈中[最小元素]的操作。

package basic_class_03;import java.util.Stack;/** * 实现一个特殊的栈,在实现栈的基本功能的基础上, * 再实现返 回栈中[最小元素]的操作。 * * 下面的两种实现方法几乎是一样的 * * @author lenovo * */public class Code_02_GetMinStack { pub...

2018-07-29 10:16:24 228

原创 用数组结构实现大小固定的队列和栈

package basic_class_03;/** * 数组实现栈跟队列 * @author lenovo * */public class Code_01_Array_To_Stack_Queue_1 { /** * 队列是先进后出 * 所以获取元素的指针只需要size就行 * @author lenovo * */ ...

2018-07-29 10:15:31 367 1

原创 求小和 --- 这个题目由于笔者太饿了,所以分析过程比较简便 以后有时间补上

package basic_class_01;/** * 求小和问题 : 找出左边 比 右边 元素 小的所有 元素之后 * @author lenovo * */public class Code_12_SmallSum { /** * * * 求小和问题 * * * @param arr...

2018-07-29 09:21:27 263

原创 MaxGap -- 笔者代码里面有比较详细的分析,如果笔者写得比较乱,您联系笔者,笔者给您解答

问题描述:给一个没有排序的数组,当排序后找出连续两个元素之间相差最大的数,并且输出这个数。限制条件:需要在线性的时间和空间复杂度。如果数组长度小于2,则输出0。数组中的所有数为非负数。—–上代码:package basic_class_01;/** * 给定一个数组,如果排序之后,求相邻连个数的最大差值 * @author lenovo * */public ...

2018-07-28 20:18:53 449 1

原创 寻找连个有序数组A,B,两者不重复的部分

package basic_class_01;import java.util.ArrayList;import java.util.List;/** * 求出数组中所有不包含的元素 * @author lenovo * */public class Code_10_GetAllNotIncluded { /** * 两个数组都是有序的 * @p...

2018-07-28 18:15:34 336

原创 桶排序

package basic_class_01;import java.util.Arrays;/** * 桶排序 * @author lenovo * */public class Code_06_BucketSort { public static void bucketSort(int[] arr) { if(arr == null || arr....

2018-07-28 17:05:55 112

原创 归并排序 --- 包含笔者的分析过程

package basic_class_01;/** * 规并排序 * @author lenovo * */public class Code_05_MergeSort { public static void mergeSort(int[] arr) { if(arr == null || arr.length < 2) { ...

2018-07-28 17:05:16 174

原创 快速排序 -- 包含笔者的分析过程

package basic_class_01;/** * 快速排序: * 最差时间分析:O(n^2) * 平均时间复杂度 :O(n*log2n) * 稳定度:不稳定 * 空间复杂度 :O(log2n)~O(n) * @author lenovo * */public class Code_04_QuickSort_1 { public static v...

2018-07-28 17:04:20 129

原创 堆排序 -- 包含笔者 呕心沥血的分析过程

package basic_class_01;/** * 堆排序 * * 最差时间分析:O(n*log2n) * 平均时间复杂度 :O(n*log2n) * 稳定度:不稳定 * 空间复杂度 :O(1) * * * 堆排序包括两个阶段,初始化建堆和重建堆。 * 初始化建堆的时间复杂度为O(n), * 排序重建堆的时间复杂度为nlog(...

2018-07-28 17:03:23 1830

原创 选择排序 --- 包含笔者的分析过程

package basic_class_01;/** * 选择排序: * 择排序每遍历一次都记住了当前最小(大)元素的位置, * 后仅需一次交换操作即可将其放到合适的位置。 * * * 最差时间分析:O(n^2) * 平均时间复杂度 :O(n^2) * 稳定度:稳定 * 空间复杂度 :O(1) * @author lenovo * */public c...

2018-07-28 17:00:56 173

原创 插入排序 -- 包含笔者的分析过程

package basic_class_01;/** * 插入排序: * 始终定义第一个元素为有序的,将元素逐个插入到有序排列之中,其特点就是 * 要不断地移动数据,空出一个适当的位置,把待插入的元素放到前面有序的数组中去 * * 最差时间分析:O(n^2) * 平均时间复杂度 :O(n^2) * 稳定度:稳定 * 空间复杂度 :O(1) * * * @aut...

2018-07-28 16:59:45 164

原创 冒泡排序 -- 包含笔者的分析过程

package basic_class_01;import java.util.Arrays;/** * 冒泡排序 * 最差 时间:O(n^2) * 平均时间复杂度 O(n^2) * 稳定度 :稳定 * 空间复杂度 :O(1) * @author lenovo * */public class Code_00_BubbleSort { public...

2018-07-28 16:57:53 885 1

原创 对数器---在写排序算法时需要小样本大规模地测试你写的算法是否是正确的

对数器可以使用一个一定是正确的算法,但是时间复杂度可能高的算法:// for test public static void comparator(int[] arr) { Arrays.sort(arr); } // for test public static int[] generateRandomArray(int maxSize, ...

2018-07-28 16:55:12 207

原创 SSH免密登录

首先下要下载ssh的客户端yum -y install openssh-clients 生成秘钥对: ssh-keygen 再将A自己的公钥拷贝并追加到B的授权列表文件authorized_keys中 ssh-copy-id 192.168.17.xxxx 第一次配置需要输入密码...

2018-07-11 15:46:36 95

原创 手把手看如何制作本地yun源

什么是yum:YUM(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。yum常用的命令: 列出所有可用的package和package组 yum list 清除所有缓冲数据 yum cl...

2018-07-11 14:34:25 2082

原创 插入排序(时间复杂度分析)

插入排序public static void insertionSort(int[] arr) { if (arr == null || arr.length < 2) { return; } for (int i = 1; i < arr.length; i++) { for (i...

2018-07-04 09:03:41 7951

原创 冒泡排序(时间复杂度分析)

冒泡排序:public static void bubbleSort(int[] arr) { if(arr == null || arr.length < 2) { return; } for(int e = arr.length-1; e > 0; e--) { for(int ...

2018-07-04 08:42:39 44071 2

原创 旋转图像

题目描述:给定一个 n × n 的二维矩阵表示一个图像。将图像顺时针旋转 90 度说明:你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。示例 1:给定 matrix = [ [1,2,3], [4,5,6], [7,8,9]],原地旋转输入矩阵,使其变为:[ [7,4,1], [8,5,2],...

2018-07-01 17:01:39 153

IDEA常用设置(IDEA的一些常用设置)

IDEA常用设置(IDEA的一些常用设置)

2023-05-15

配置linux的静态ip

linux配置静态ip,可以实现本机软件连接到虚拟机,使用的模式是NAT模式

2018-08-06

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除