
Java数据结构和算法
水月风情
这个作者很懒,什么都没留下…
展开
-
稀疏数组
实际需求package com.afmobi;/** * @Description 二维数组 转 稀疏数组的思路 * 1:遍历原始数组,得到有效数据的个数sum * 2:根据sum 可以创建稀疏数组 int [sum + 1][3] * 3:将二维数组的有效数据存入到 稀疏数组 * * 稀疏数组 转二维数组 * ...原创 2019-07-02 14:39:07 · 154 阅读 · 0 评论 -
时间复杂度和空间复杂度(各排序算法速度)
分别介绍每类时间复杂度:4 线性对数阶O(nlogN)原创 2019-07-06 11:13:19 · 189 阅读 · 0 评论 -
选择排序(速度比冒泡快)
百度百科https://baike.baidu.com/item/%E9%80%89%E6%8B%A9%E6%8E%92%E5%BA%8F/9762418?fr=aladdin分析图思路图第一次的代码为:我们先一次一次的排序package com.afmobi;import java.util.Arrays;public class SelectS...原创 2019-07-06 10:40:14 · 674 阅读 · 0 评论 -
冒泡排序
百度百科:https://baike.baidu.com/item/%E5%86%92%E6%B3%A1%E6%8E%92%E5%BA%8F/4602306?fr=aladdin思路:代码:package com.afmobi;import java.util.Arrays;public class BubbleSort { public stati...原创 2019-07-05 17:27:52 · 818 阅读 · 0 评论 -
递归-八皇后问题(回溯算法)
八皇后问题介绍代码package com.afmobi;public class Queue8 { int max = 8; // 多少个皇后 int[] array = new int[max]; // 保存皇后位置的结果 static int count; public static void main(String[] args) { ...原创 2019-07-05 15:33:40 · 178 阅读 · 0 评论 -
栈的简单入门
代码package com.afmobi;import static org.assertj.core.api.Assertions.atIndex;import java.util.Scanner;public class ArrayStackDemo { public static void main(String[] args) { ArraySta...原创 2019-07-04 17:37:40 · 201 阅读 · 0 评论 -
约瑟夫问题
约瑟夫问题百度百科https://baike.baidu.com/item/%E7%BA%A6%E7%91%9F%E5%A4%AB%E9%97%AE%E9%A2%98/3857719?fr=aladdin首先创建环形链表的思路图解代码实现package com.afmobi;public class Josepfu { public static v...原创 2019-07-04 16:27:56 · 347 阅读 · 0 评论 -
双向链表
代码及测试: 与单链表的差别,都详细说了,大家可以和单链表的代码进行对比,增加印象package com.afmobi;public class DoubleLinkedListDemo { public static void main(String[] args) { HereNode2 hNode1 = new HereNode2(1, "宋江", "及时雨");...原创 2019-07-04 10:05:51 · 188 阅读 · 0 评论 -
单链表常见面试题
求链表的有效节点个数 /** * @Description: * @param: @param head 链表头节点 * @param: @return * @return: int 返回有效节点个数 * @throws */ public static int getLength(HereNode head) { if (head....原创 2019-07-03 18:13:36 · 269 阅读 · 0 评论 -
二叉树的前序、中序、后序遍历
百度百科:https://baike.baidu.com/item/%E4%BA%8C%E5%8F%89%E6%A0%91/1602879?fr=aladdin前序遍历:先输出父节点,再遍历左子树和右子树 中序遍历:先遍历左子树,再输出父节点,再遍历右子树 后序遍历:先遍历左子树,再遍历右子树,最后输出父节点思路:前序排序:1 2 3 5 4中序排序:2 1 5 3 4...原创 2019-07-09 11:00:08 · 9610 阅读 · 0 评论 -
数组模拟环形队列
代码实现:package com.afmobi;import java.util.Scanner;public class CircleArrayQueueDemo { public static void main(String[] args) { CircleArray queue = new CircleArray(5); // 其队列的有效数据最大为4,最后一个...原创 2019-07-03 14:31:33 · 1541 阅读 · 2 评论 -
二分查找及插值查找算法
百度百科https://baike.baidu.com/item/%E4%BA%8C%E5%88%86%E6%9F%A5%E6%89%BE/10628618?fr=aladdin思路代码:package com.search;public class BinarySearch { public static void main(String[] args) { ...原创 2019-07-08 20:02:29 · 367 阅读 · 0 评论 -
常用排序算法对比
原创 2019-07-08 17:47:20 · 215 阅读 · 0 评论 -
归并排序(速度跟快排差不多)
百度百科:https://baike.baidu.com/item/%E5%BD%92%E5%B9%B6%E6%8E%92%E5%BA%8F/1639015?fr=aladdin代码:package com.afmobi;import java.util.Arrays;public class MergetSort { public static void m...原创 2019-07-08 17:44:48 · 464 阅读 · 0 评论 -
快速排序(比希尔排序会快稳定一点)
百度百科:https://baike.baidu.com/item/%E5%BF%AB%E9%80%9F%E6%8E%92%E5%BA%8F%E7%AE%97%E6%B3%95/369842?fromtitle=%E5%BF%AB%E9%80%9F%E6%8E%92%E5%BA%8F&fromid=2084344&fr=aladdin示意图:代码:...原创 2019-07-08 15:56:37 · 928 阅读 · 0 评论 -
希尔排序
百度百科https://baike.baidu.com/item/%E5%B8%8C%E5%B0%94%E6%8E%92%E5%BA%8F/3229428?fr=aladdin简单插入排序存在的问题希尔排序是一种更高效的插入排序版本希尔排序示意图:希尔排序时,对有序序列在插入时采用交换法和移动法(移动法效率更高),两种这里都会举例。交换法:代码packag...原创 2019-07-08 11:52:51 · 155 阅读 · 0 评论 -
插入排序(和选择排序速度差不多)
百度百科:https://baike.baidu.com/item/%E6%8F%92%E5%85%A5%E6%8E%92%E5%BA%8F/7214992?fr=aladdin分析图思路在代码里补充代码:package com.afmobi;import java.util.Arrays;public class InsertSort { public...原创 2019-07-06 15:18:47 · 289 阅读 · 0 评论