菜单

江河水总有入海之时

二叉排序树的增删改查

插入 查找 修改没什么好说的比较基础 重点看一下删除删除操作详解首先明确一个点 删除一个节点 一般都是要用到它的父指针 把父指针移动到别的地方 这里我定义的函数为deleteNode(BSTNode*cur) 通常是让parent.left or par

duckflew duckflew 发布于 2021-04-08

广义表

广义表的两个操作容易弄错 在这里记录一下首先明确定义 广义表分两种 一种是普通表 一种是原子表普通表结构为 一个表头 一个表尾表尾一定指向另一张表 这张表包含一个元素 这个元素可以是原子 也可以是表 这就是为什么tail操作要加括号的原因 总之取到的

duckflew duckflew 发布于 2020-12-29

几大排序算法总结

堆排序、快速排序、希尔排序、直接选择排序是不稳定的排序算法,而基数排序、冒泡排序、直接插入排序、折半插入排序、归并排序是稳定的排序算法。

duckflew duckflew 发布于 2020-12-29

堆排序 JAVA实现

堆排序的思想是 先把需要排序的数组构造成一个大根堆或者小根堆 然后用选择排序的思想 每一次都从堆里面选取最小的元素放到已经有序的序列中去 交换完成后对 被取走根的堆重建 其中在建立堆和调整堆的时候都需要用到一个方法来调整 这里我命名为一个adjust

duckflew duckflew 发布于 2020-12-28

希尔排序

public static void shellSort(int []arr) { int len=arr.length; int wanToInset; int j; for (int step=len

duckflew duckflew 发布于 2020-12-27

哈夫曼树的建立以及求WPL 以及哈夫曼编码

一、定义一些定义:节点之间的路径长度:在树中从一个结点到另一个结点所经历的分支,构成了这两个结点间的路径上的经过的分支数称为它的路径长度树的路径长度:从树的根节点到树中每一结点的路径长度之和。在结点数目相同的二叉树中,完全二叉树的路径长度最短。结点的权:在一些

duckflew duckflew 发布于 2020-11-20

HashSet和TreeSet的区别

1.HashSetHashSet有以下特点:不能保证元素的排列顺序,顺序有可能发生变化不是同步的集合元素可以是null,但只能放入一个null当向HashSet集合中存入一个元素时,HashSet会调用该对象的hashCode()方法来得到该对象的hashCo

duckflew duckflew 发布于 2020-10-27

线性表

线性表public class SqList<T> { static int LIST_INIT_SIZE; static int LIST_INCREMENT_SIZE; private Object[] elements;

duckflew duckflew 发布于 2020-10-20

多项式加法

多项式加法public class Polynomial {Polynomial next; double data; // 系数值 int power; // 幂值 public Polynomial(){ this(0.0, -1); } public

duckflew duckflew 发布于 2020-10-20

栈的应用(走迷宫问题)

栈的应用(走迷宫问题)import lombok.AllArgsConstructor;import java.util.Stack;@AllArgsConstructorclass OneStep{ int x; int y; int di

duckflew duckflew 发布于 2020-10-20

快速排序

快速排序public static void quickSort(int [] array,int left,int right) { if (array==null||array.length==0||left>right)

duckflew duckflew 发布于 2020-10-20

二分查找

基本的二分查找非递归public int binarySearch(int []nums ,int target) { int low=0; int high=nums.length-1; int mid;

duckflew duckflew 发布于 2020-10-20