JAVA
代码会说话
技术交流,互相学习
展开
-
JAVA数据结构与算法(七)
今天介绍二叉排序树; 利用中序排序思维,小的的放在根的左子树,大的放在根的右子树; 数组还原树过程:原创 2020-06-15 14:07:51 · 107 阅读 · 0 评论 -
JAVA数据结构与算法(六)
今天记录一下快速排序的一个写法吧(二分查找法); 思维部分(建议理解后看代码): 给定一个int数组,将这个数组排序; 上面的是第一轮的排序,然后从指针的位置分成两部分,左边的位置和右边的位置单独这样遍历; 直到将这个数组遍历到底(递归思想,如果想不通的同学可以看下我前面的文章,这里就不多说了) 上面的是思想,如果没想通看下面的代码有可能会有些困惑; 代码部分: /** * 快速排序 * 适用于数组 */ public void quickSort(int[] array, i原创 2020-06-14 21:32:07 · 170 阅读 · 0 评论 -
JAVA数据结构与算法(一)
冒泡排序 将代码直接复制即可 @Test public void testSort(){ int[] array = new int[]{4, 7, 2, 3, 1, 8, 6, 9, 5}; for (int i : array) { System.out.print(i + " "); } System.out.println("\n"); sort(array); for (int i : array) { Sy原创 2020-06-09 20:10:40 · 115 阅读 · 0 评论 -
JAVA数据结构与算法(二)
大家应该都打过手机麻将,那么手机麻将发牌之后,是如何将我们的牌排序的呢? 下面就是一个麻将排序算法,这只是个示例,后面自己根据业务扩展吧,希望会有帮助 直接上代码 @Test public void testMajiang(){ LinkedList<Majiang> list = new LinkedList<>(); list.add(new Majiang(3, 1)); list.add(new M..原创 2020-06-10 08:45:39 · 123 阅读 · 0 评论 -
JAVA数据结构与算法(五)
前一篇文章写的是汉诺塔,如果还是对汉诺塔没有有疑问的,那么,下面的三种二叉树的遍历会进一步帮助我们理解汉诺塔; 树: 二叉树的遍历:1,先序遍历;2,中序遍历;3,后序遍历; 上示例代码: /** * 二叉树 */ public class Binaray { Node<String> root; public Binaray(String data) { root = new Node<>(data, null, null);原创 2020-06-13 10:32:39 · 237 阅读 · 0 评论 -
JAVA数据结构与算法(四)
晚上的时候看了一下递归,汉诺塔算法,没有想通,躺在床上翻来覆去的睡不着,满脑子都是这个123,321,,,, 想着想着就有感觉了,感觉起来写个博客记录一下,我怕明天早上忘记了; 直接上代码,代码中添加了想法和注释: /** * 汉诺塔 * 目标:将n个塔片从start利用middle转换至end * 理解:逆向思维, * 思想第一步:将n个塔片看成是一个整体,想要把这个整体移动从start移到end * 只需要直接移动即可 1------3 *原创 2020-06-12 00:24:56 · 110 阅读 · 0 评论 -
JAVA数据结构与算法(三)
/** * 自己的链表功能 * 1,最后位置上的新增 * 2,获取指定位置上元素 * 3,指定位置上的新增 * 4,指定位置上的删除 * @param <T> */ public class MyLinkedList<T> { /** * 节点 * @param <T> */ public static class Node<T>{ T item; Node&l...原创 2020-06-11 07:54:09 · 135 阅读 · 0 评论