2021年01月12日1.1k阅读数据结构和算法使用Java语言实现KMP算法KMP 算法确实不太容易理解,即使我能用PPT模拟出来指针的操作,但对其中核心的 Next 数组的代码实现还是有些困惑。我再详细学习一下Next数组的实现再补充该文章。抱歉!如果对 KMP 中的...
2020年12月30日886阅读数据结构和算法二叉树的应用——赫夫曼编码压缩代码练习赫夫曼码是 可变字长编码(VLC) 的一种。Huffman 于 1952 年提出一种编码方法,称之为最佳编码.在练习中需要注意以下几点:赫夫曼树 根据排序方法不同,也可能不太一样,这样对应的 赫...
2020年12月22日1.2k阅读数据结构和算法斐波那契查找算法实现思路及代码(Java)斐波那契查找数列是一串按照F(0)=1,F(1)=1, F(n)=F(n-1)+F(n-2)(n>=2,n∈N*)这一条件递增的一串数字:1、1、2、3、5、8、13、21 ... ......
2020年12月20日1k阅读数据结构和算法希尔排序及其代码实现(Java)希尔排序的介绍希尔排序,也称递减增量排序算法,是插入排序的一种更高效的改进版本。但希尔排序是非稳定排序算法。希尔排序是基于插入排序的以下两点性质而提出改进方法的:插入排序在对几乎已经排好序的数据...
2020年12月19日974阅读数据结构和算法归并排序及其代码实现(Java)归并排序的介绍归并排序(Merge sort)是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。和选择排序一样,归并排序的性...
2020年12月18日811阅读数据结构和算法插入排序的动画演示及代码实现(Java)插入排序的介绍插入式排序法属于内部排序法,是对欲排序的元素以插入的方式寻找该元素的适当位置,以达到排序的目的。插入排序是一种最简单直观的排序算法,它的工作原理是通过构建有序序列,对于未排序数据,...
2020年12月18日874阅读数据结构和算法冒泡排序和选择排序冒泡排序基本介绍冒泡排序的英文Bubble Sort,是一种最基础的交换排序。之所以叫做冒泡排序,是因为这种排序算法的每一个元素都可以像气泡一样,根据自身大小,一点一点向着数组的一侧移动。冒泡排...
2020年12月17日1.1k阅读数据结构和算法八皇后问题递归方法解决思路和代码实现(Java)问题提出八皇后问题,是一个古老而著名的问题,是回溯算法的典型案例。该问题是国际西洋棋棋手马克斯·贝瑟尔于1848 年提出:在 8×8 格的国际象棋上摆放八个皇后,使其不能互相攻击,即:任意两个皇...