数据结构和算法
常用的数据结构和算法介绍,并结合demo
geyueguiDai
这个作者很懒,什么都没留下…
展开
-
基于huffman树的压缩和解压算法实现
/** * @author geyuegui * @DATE 2020/12/5 0005 17:11 * DESCRIPT **/public class HuffmanCode { private Map<Byte,StringBuffer> huffmancode=new HashMap<Byte, StringBuffer>(); public static void main(String[] args) { HuffmanCo原创 2020-12-09 07:45:28 · 135 阅读 · 0 评论 -
赫夫曼树
public class HuffmanTree { public static void main(String[] args) { } public static void huffmancode(String strs){ } //根据数组构造huffmanTree public static Node huffmanTree(int[] arrs){ List<Node> nodes=new ArrayList<N原创 2020-12-05 16:42:41 · 48 阅读 · 0 评论 -
堆排序
public static void heapSort(int[] arrs){ for(int i=arrs.length/2-1;i>=0;i--){ adjustHeap(arrs,i,arrs.length); } for(int i=arrs.length-1;i>0;i--){ int tenp=arrs[i]; arrs[i]=arrs[0]; ...原创 2020-12-04 22:31:29 · 59 阅读 · 0 评论 -
基数排序
不包含负数基数排序算法 public static void radixsort(int[] arrs){ int maxnum=arrs[0]; for(int i=0;i<arrs.length;i++){ if(maxnum<arrs[i]){ maxnum=arrs[i]; } } int maslength=(maxnum+"").leng原创 2020-12-02 00:19:17 · 66 阅读 · 0 评论 -
归并排序
public static void main(String[] args) { int[] arrtest={23,24,45,12,4,12,56,10}; int left =0; int right=arrtest.length-1; mergeSort(arrtest,left,right); System.out.println("归并排序后=" + Arrays.toString(arrtest)); ..原创 2020-11-29 15:56:40 · 65 阅读 · 0 评论 -
快速排序
public static void quickSort(int[] arrs,int left,int right){ int leftindex=left; int rightindex=right; int privot=arrs[left+right]/2; while (leftindex<rightindex){ while (arrs[leftindex]<privot){ ...原创 2020-11-29 08:46:52 · 65 阅读 · 0 评论 -
插入排序和希尔排序算法
插入排序public static void insertSort(int[] arrs){ for(int i=0;i<arrs.length-1;i++){ int indexVal=arrs[i+1]; int index=i; while(index>=0 && indexVal<arrs[index]){ arrs[index+1]=arrs[原创 2020-11-28 14:44:54 · 54 阅读 · 0 评论 -
选择排序
/** * @author geyuegui * @DATE 2020/11/25 0025 21:28 * DESCRIPT **/public class SelectSort { public static void main(String[] args) { int[] arrtest={23,24,45,12,4,12,56,10}; selectSort(arrtest); for(int num:arrtest){原创 2020-11-25 23:32:06 · 57 阅读 · 0 评论 -
冒泡排序
public class BubbleSort { public static void main(String[] args) { int[] arrtest={23,24,45,12,4,12,56,10}; bubbleSort(arrtest); for(int str:arrtest){ System.out.println(str); } } public static void b原创 2020-11-25 20:26:44 · 58 阅读 · 0 评论 -
中缀表达式转逆波兰表达式
import java.util.ArrayList;import java.util.Collections;import java.util.List;import java.util.Stack;import java.util.regex.Pattern;/** * @author geyuegui * @DATE 2020/11/23 0023 21:50 * DESCRIPT * 1. 初始化两个栈:运算符栈s1和储存中间结果的栈s2; * 2. 从左至右扫描中缀表达式;原创 2020-11-25 07:38:02 · 103 阅读 · 0 评论