自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 收藏
  • 关注

原创 力扣 - 二叉树的(前中后)序遍历(递归和迭代解决 模板化)

力扣链接前序:https://leetcode-cn.com/problems/binary-tree-preorder-traversal/submissions/中序:https://leetcode-cn.com/problems/binary-tree-inorder-traversal/后序:https://leetcode-cn.com/problems/binary-tree-postorder-traversal/一、分别解释前序遍历,父节点先遍历,遍历顺序为:父节点-》左节点-》

2021-02-04 16:38:03 125

原创 力扣 -动态规划两道题(买卖股票的最佳时机&最大子序和&爬楼梯)

文章目录一、买卖股票的最佳时机1.暴力法2.dp二、最大子序和1.法一2.dp总结一、买卖股票的最佳时机链接https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock/1.暴力法代码如下(示例):class Solution { public int maxProfit(int[] prices) { if(prices.length<=1){ return 0;

2021-01-25 13:07:24 127

原创 数据结构与算法-暴力匹配算法&KMP算法

文章目录字符串匹配问题一、暴力匹配算法&KMP算法二、源码1.暴力匹配算法2.KMP算法总结字符串匹配问题一、暴力匹配算法&KMP算法KMP算法:二、源码1.暴力匹配算法代码如下(示例):package Algorithm;//暴力匹配算法 思路:依次进行查找public class ViolenceMatch { public static void main(String[] args) { String s1 = "硅硅谷 尚硅谷你尚硅

2021-01-19 10:26:27 532

原创 数据结构与算法-动态匹配算法

文章目录动态匹配算法一、背包问题二、源码总结动态匹配算法一、背包问题二、源码代码如下(示例):package Algorithm;//动态匹配算法解决背包问题public class Packed { public static void main(String[] args) { //定义2个一维数组,分别存放商品的重量和价格 int[] val = {1500, 3000, 2000}; int[] weight = {1, 4

2021-01-19 10:22:00 844

原创 数据结构与算法-图(深度优先遍历dfs &广度优先遍历bfs)

文章目录图一、优先遍历二、代码1.Graph2.Demo总结图一、优先遍历二、代码1.Graph代码如下(示例): Graph;//使用二维矩阵来表示图import java.util.ArrayList;import java.util.Arrays;import java.util.LinkedList;public class Graph { //用链表表示其中的节点的数据 public ArrayList<String> VertexLi

2021-01-14 19:56:10 289 1

原创 数据结构与算法-平衡二叉树

文章目录平衡二叉树一、概念二、源码1.Node2.Tree2.Demo总结平衡二叉树一、概念二、源码1.Node代码如下(示例):package BinarySortTree;public class Node { public int value; public Node left; public Node right; public Node(int value) { this.value = value; }

2021-01-13 17:04:44 78

原创 数据结构与算法-二叉排序树

二叉排序树一、思路二、源码1.Node类代码如下(示例):package BinarySortTree;public class Node { public int value; public Node left; public Node right; public Node(int value) { this.value = value; } @Override public String toString()

2021-01-12 21:24:23 102

原创 数据结构与算法-树(赫夫曼树)

文章目录赫夫曼树一、几个概念二、赫夫曼树实现源码总结赫夫曼树一、几个概念二、赫夫曼树实现源码代码如下(示例):package HuffmanTree;import java.util.ArrayList;import java.util.Collections;public class HuffmanTree { public static void main(String[] args) { int[] arr = {13, 7, 8, 3, 29,

2021-01-10 11:40:46 120

原创 数据结构与算法-排序(堆排序)

文章目录堆排序一、堆排序二、源码堆排序一、堆排序二、源码代码如下(示例):package Sort.HeapSort;import java.util.Arrays;public class Heapsort { public static void main(String[] args) { int[] arr = {4, 6, 8, 5, 9}; System.out.println("原始数组" + Arrays.toString(ar..

2021-01-10 09:58:59 110

原创 数据结构与算法-二叉树(前序中序后续)(增删改查)

文章目录二叉树一、二叉树是什么?二、源码1.Heronode类2.BinaryTree类3.BinaryTreeDemo总结二叉树一、二叉树是什么?二、源码1.Heronode类代码如下(示例):package BinaryTree;public class Heronode { private int no; private String name; private Heronode left; private Heronode right; .

2021-01-05 19:01:37 138

原创 数据结构与算法-哈希表(散列表)

文章目录哈希表(散列表)一、哈希表结构二、源码1.定义每个节点2.每个链表的定义3.数组的定义4.Demo总结哈希表(散列表)一、哈希表结构二、源码1.定义每个节点代码如下(示例):package Hashtable;//先写出链表中每个节点表示的员工信息public class Emp { public int id; public String name; public Emp next; public Emp(int id, String na..

2021-01-04 18:52:35 83

原创 数据结构与算法-查找-(顺序查找&二分查找)

文章目录顺序查找&二分查找1.顺序查找2.二分查找总结顺序查找&二分查找1.顺序查找代码如下(示例):package Search.SqueezeSearch;import java.util.ArrayList;//顺序查找出所有与值相等的索引下标public class SequeezeSearch { public static void main(String[] args) { int[] array = {-1,2,10,12,3,6,.

2020-12-30 16:11:22 149

原创 数据结构与算法-排序-(基数排序&各种排序对比)

文章目录基数排序与各种排序对比1.基数排序2.各种排序对比总结基数排序与各种排序对比1.基数排序代码如下(示例):package Sort.RadixSort;import java.text.SimpleDateFormat;import java.util.Arrays;import java.util.Date;public class Radixsort { public static void main(String[] args) { in..

2020-12-29 15:13:49 367 2

原创 数据结构与算法-排序-(快速排序&归并排序)

=文章目录快速排序与归并排序1.快速排序2.归并排序总结快速排序与归并排序1.快速排序代码如下(示例):package Sort.Quicksort;import java.util.Arrays;public class QuickSort { public static void main(String[] args) { int[] array = {-9, 78, 0, 23, -567, 70}; int[] array1 = {-7

2020-12-29 10:47:25 125

原创 数据结构与算法-排序-(插入排序&希尔排序)

文章目录插入排序和希尔排序1.插入排序2.希尔排序(2种)总结插入排序和希尔排序1.插入排序代码如下(示例):package Sort.Insertsort;import java.text.SimpleDateFormat;import java.util.Arrays;import java.util.Date;public class Insertsort { public static void main(String[] args) { int..

2020-12-25 16:27:10 78

原创 数据结构与算法-排序-(冒泡排序&简单选择排序)

文章目录排序(Sort)二、冒泡排序和简单选择排序1.冒泡排序2.简单选择排序总结排序(Sort)二、冒泡排序和简单选择排序1.冒泡排序代码如下(示例):package Sort.Buttonsort;import java.text.SimpleDateFormat;import java.util.Date;/*规则:1、一共需要进行数组大小-1次的循环2、每一次排序的次数在逐渐减小3、如果我们发现在某趟排序中,没有发生一次交换,可以提前结束冒泡排序*/publi..

2020-12-24 14:45:07 248

原创 数据结构与算法-递归回溯-八皇后问题

文章目录八皇后问题一、源代码总结八皇后问题一、源代码package recurtion;//八皇后问题public class Queue8 { //定义一个一维数组,其中数组的第几个数为第几个黄后应该摆放的位置,而值为摆放的列数 int max = 8; int[] array = new int[max]; static int count = 0; //打印这个数组的方法 public void print() { ..

2020-12-23 10:42:30 107

原创 数据结构与算法-递归-迷宫问题

文章目录迷宫问题一、问题描述二、源代码总结迷宫问题一、问题描述二、源代码代码如下(示例):package recurtion;public class Migong { public static void main(String arg[]) { int[][] map = new int[8][7]; for (int i = 0; i < map.length; i++) { map[i][0] = 1; ..

2020-12-22 16:03:22 167 1

原创 数据结构与算法-栈(Stack)-逆波兰表达式(中缀转后缀)

文章目录中缀转后缀的思路一、思路二、源代码总结中缀转后缀的思路一、思路1、中缀–>顺序Arraylist集合 2、顺序ArrayList集合–>逆缀ArrayList形式3、逆缀ArrayList形式–>计算步骤二、源代码代码如下(示例):package Stack;import java.util.ArrayList;import java.util.List;import java.util.Stack;//采用Arraylist和Stack实现逆波兰..

2020-12-21 17:36:31 138 2

原创 数据结构与算法-栈-java源码(数组和链表分别实现)

文章目录栈的实现(数组)一、思路1.Stack2.StackDemo栈的实现(单向链表)一、思路1.Node类2.LinkedStack类3.LinkedStackDemo总结栈的实现(数组)一、思路1.Stack代码如下(示例):package Stack;//用数组来模拟栈public class Stack { private int maxsize; //数组最大容量 private int top; //初始化栈顶 初始值为-1 private i..

2020-12-17 15:41:33 113 1

原创 数据结构与算法-约瑟夫链表

约瑟夫链表一、思路二、源码1.节点代码如下(示例):package CircleSingleLinkedList;public class Boy { private int no; private Boy Next; public Boy(int no){ this.no=no; } public int getNo() { return no; } public void setNo(int no)

2020-12-16 16:46:23 198

原创 数据结构与算法-单向链表-练习3(合并两个有序链表)

题目:合并两个有序的单链表,合并之后的链表依然有序一、思路:定义一个新的头结点,首先比较2个链表的1号节点,那个大就连起来,然后后移,在比较大小,在连起来。依次到最后为空截止。代码如下(示例): public HeroNode addtwolinkedlist(HeroNode head1, HeroNode head2) { //新链表的头结点 HeroNode newhead = new HeroNode(0, "", ""); if (head1.

2020-12-15 15:42:19 150

原创 数据结构与算法-单项链表-练习2(反转链表和从尾到头打印链表)

题目一:单链表的反转 题目二:从尾到头打印链表一、单链表的反转思路:将原始链表节点按顺序依次取出来,每次取出来的节点放在新链表的头结点与头结点的后一个节点之间。代码如下(示例): public void reverse(HeroNode heroNode) { //如果没有节点或者只有一个节点 不需要反转 if (head.next==null||head.next.next==null){ return; }

2020-12-14 14:43:45 117

原创 数据结构与算法-单向链表-练习1(查找有效结点和倒数第k个结点)

题目:1、求单向链表中有效节点的个数 2、查找单向链表中倒数第k个节点一、解答1.遍历整个单向链表即可可以写在SingleLinkedList类中。这里传入的是头节点,然后返回的是单向链表的长度。思路:遍历整个单向链表就行了。代码如下(示例): public int getlength(HeroNode head){ if (head.next==null){ System.out.println("链表为空,无有效节点"); ...

2020-12-11 16:09:45 106

原创 数据结构与算法-单向链表-java源码

自己听完课,写了一遍,然后debug了一遍,感同身受!文章目录java源码实现(带自己写的注意事项及解析)一、源码1.定义HeroNode类2.定义SingleLinkedList类3.SingleLinkedListDemo总结java源码实现(带自己写的注意事项及解析)一、源码1.定义HeroNode类代码如下(示例):package SingleLinkedList;public class HeroNode { public int no; public Stri

2020-12-11 14:31:16 113 1

原创 数据结构与算法-链表-单项链表介绍

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档单向链表的介绍![](https://img-blog.csdnimg.cn/20201211104009408.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NsaWdodGluZzExMjg=,size_16,color_FFFFFF,t_70)一、带头节点的单向链

2020-12-11 10:46:59 73

空空如也

空空如也

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

TA关注的人

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