算法
小呆萌熊
一起学习,共同进步
展开
-
实现一个二叉堆
二叉堆也是一种二叉树,只不过底层使用数组来实现的,数组元素按照树的结构来摆放,二叉堆,必须满足两个条件:一、是一个完全二叉树,即叶子节点之间的高度要小于等于1。二、父节点必须子节点,注意不是孙子节点,是子节点。比较重要的两个性质:父节点的索引=(左子节点的索引-1)/2=(右子节点的索引-1)/2左子节点的索引=父节点的索引2+1右子节点的索引=父节点的索引2+2有了这些知识就可以自己实现一个二叉堆了public class ErChaDui<T extends Comparable原创 2021-06-08 22:48:29 · 252 阅读 · 4 评论 -
七大排序算法
选择排序package PaiXu;import java.util.Random;/** * 选择排序 */public class XuanZe { public static void main(String[] args) { int[] arr=new int[20000]; for(int i=0;i<arr.length;i++){ arr[i]=new Random().nextInt(100000); System.out.print(arr[原创 2021-06-03 21:05:28 · 107 阅读 · 0 评论 -
手写一个hashmap
package HashMap;public class LinkedList { private Node head; private int linkedSize; public LinkedList(){ this.head=null; linkedSize=0; } public Node getHead() { return head; } public void setHead(Node head) { this.head = hea原创 2021-06-03 21:01:24 · 72 阅读 · 2 评论 -
实现一个二叉排序树
package ErChaShu;import java.util.ArrayList;import java.util.Random;public class BST<E extends Comparable<E>>{ private class Node{ private E e; private Node left; private Node right; public Node (E e原创 2021-06-03 20:58:41 · 66 阅读 · 0 评论 -
手动实现一个链表
/** * @author xwm * @email 2825902051@qq.com * @date 2021/4/28 0028 * @time 14:34 */public class MyLinkedList<T> { private Node head; private int size; public Node getHead() { return head; } public void setHead(Nod原创 2021-06-03 20:57:18 · 115 阅读 · 0 评论