算法
hello_zzw
这个作者很懒,什么都没留下…
展开
-
前序+ 中序 中序+后序 生成二叉树
package com.zzw.leetcode; import java.util.ArrayList; import java.util.List; /** * @PACKAGE_NAME: com.zzw.leetcode * @NAME: Ergodic * @USER: zhaozhenwei * @DATE: 2021/7/22 * @TIME: 6:15 下午 * @Description: **/ public class Ergodic { static Tree原创 2021-07-22 20:22:34 · 83 阅读 · 0 评论 -
双向链表反转
package com.zzw.test; /** * @program: HashMapTest * @description: 双向链表反转 * @author: zhaozhenwei * @create: 2021-05-30 10:55 **/ public class DoubleListInversion { public static void main(String[] args) { DoubleNode listInversion = create原创 2021-05-30 11:19:55 · 374 阅读 · 0 评论 -
单向链表反转
package com.zzw.test; /** * @program: HashMapTest * @description: 单向链表反转 * @author: zhaozhenwei * @create: 2021-05-30 09:43 **/ public class ListInversion { public static void main(String[] args) { Node listInversion = createListInversio原创 2021-05-30 10:42:44 · 47 阅读 · 0 评论 -
查找第index小的数
package com.zzw.algorithm; import java.util.ArrayList; import java.util.Arrays; /** * @program: sorttest * @description: 查找第n个小的数字 * @author: zhaozhenwei * @create: 2021-03-30 19:42 **/ public class FindMinKth { /** * 查找当前集合arr第n个小的数字时,使用当原创 2021-03-30 21:32:08 · 67 阅读 · 0 评论 -
KMP
import java.util.Arrays; /** * @program: sorttest * @description: KMP算法 * @author: zhaozhenwei * @create: 2021-03-28 18:44 **/ public class KMPAlgorithm { public static void main(String[] args) { String mainStr = "1231241289031241241245.原创 2021-03-28 22:00:06 · 50 阅读 · 0 评论 -
二叉树遍历
二叉树节点 import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import lombok.ToString; /** * @program: sorttest * @description: 二叉树节点 * @author: zhaozhenwei * @create: 2021-03-27 18:39 **/ @Data @NoArgsConstructor @AllAr原创 2021-03-27 19:42:18 · 49 阅读 · 0 评论 -
二叉查找树
二叉查找树(Binary Search Tree),(又:二叉搜索树,二叉排序树)它或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 它的左、右子树也分别为二叉排序树。 二叉排序树的查找过程和次优二叉树类似,通常采取二叉链表作为二叉排序树的存储结构。中序遍历二叉排序树可得到一...原创 2019-04-10 08:09:59 · 79 阅读 · 0 评论 -
快速排序
快速排序(Quicksort)是对冒泡排序的一种改进。 快速排序由C. A. R. Hoare在1962年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。 设要排序的数组是A[0]……A[N-1],首先任意选取一个数据(通常选...原创 2019-04-02 22:31:31 · 73 阅读 · 0 评论 -
归并排序
归并排序(MERGE-SORT)是建立在归并操作上的一种有效的排序算法,该算法是分治法的一个非常典型的案例。通过将多个有序的子序 列合并成一个有序的数组,合并结束后即为一个有序的数组。先将无序的数组分成多个无序的子数组,将这些子数组进行进行排序,形成有序的数组,再讲这些有序的子数组合并成一个有序的父数组,即为归并。 排序方法: 1.每次将无序的数组分成两个子数组A、B 2.判断子数组A、B...原创 2019-04-05 11:20:43 · 60 阅读 · 0 评论 -
直接插入排序
在插入排序中,一个数组被分成独立的两个部分,有序的部分和无序的部分。然后将无序的那一部分逐个插入到有序的序列,等无序部分的数列完全插入到有序序列后,整个数组则是有序的。 插入规则:用index记录比插入数据大的数据的下标,用于记录要插入数据插入的位置,初始时index为无序数组中要插入数据的下标。将无序数组的第一个数据从有序数组的最后一个数据进行比较。当有序数组中的数大于要插入的数时,将有序数组中...原创 2019-04-03 20:56:20 · 126 阅读 · 0 评论