Java数据结构与算法基础
Java数据结构与算法基础
孤鸿影_缥缈
这个作者很懒,什么都没留下…
展开
-
数据结构算法基础 之 二叉树
/** * 树节点 */public class Node { private int num; private Node left; private Node right; public Node(int num) { this.num = num; this.left = null; this.ri...原创 2019-11-29 10:52:21 · 78 阅读 · 0 评论 -
数据结构算法基础 之 快速排序
/** * 快速排序 : 空间复杂度O(1) 平均时间复杂度O(nlogn) 最坏时间复杂度O(n*n) * * 6,8,7,5,3,9,2,1,4 */public class QuickSort { public static void sort(int[] arr){ quick_sort(arr,0,arr.length-1); } publ...原创 2019-11-21 09:53:18 · 121 阅读 · 0 评论 -
数据结构算法基础 之 归并排序
/** * 归并排序 : 稳定排序 时间复杂度:O(nlogn) 空间复杂度:O(n) */public class MergeSort { public static void sort(int[] arr){ int n = arr.length; merge_sort(arr,0,n-1); } // 递归 分解数组及合并...原创 2019-11-20 14:36:40 · 56 阅读 · 0 评论 -
数据结构算法基础 之 选择排序
/** * 选择排序 : 原地排序算法(空间复杂度O(1)) 不稳定 时间复杂度为O(n*n) */public class SelectSort { public static void sort(int[] arr){ for(int i=0; i<arr.length-1; i++){ int minIndex = i; ...原创 2019-11-19 10:54:20 · 61 阅读 · 0 评论 -
数据结构算法基础 之 插入排序
/** * 插入排序 : 原地排序(时间复杂度O(1)) 稳定 时间复杂度为O(n*n) * */public class InsertSort { public static void sort(int[] arr){ int length = arr.length; for(int i = 1; i<length; i++){ ...原创 2019-11-19 10:26:46 · 60 阅读 · 0 评论 -
数据结构算法基础 之 冒泡排序
/** * 冒泡排序 : 是一种原地排序(空间复杂度为O(1)),稳定的排序(不会有相同元素的交换) * 平均时间复杂度为O(n*n) */public class BubbleSort { public static void sort(int[] arr){ for(int i=0 ;i<arr.length; i++){ ...原创 2019-11-17 10:54:25 · 77 阅读 · 0 评论 -
数据结构算法基础 之 递归
/** * 递归: n个台阶,可以一次走 1 阶,也可以一次走 2 阶 * 问: 一共有多少种走法 * 注意 : 递归层次很深 有栈溢出风险 且有重复计算问题 */public class DiGui { public int f(int n){ if(n == 1) return 1; // 只剩1阶,有1种走法 if(n == 2...原创 2019-11-17 10:07:00 · 117 阅读 · 0 评论 -
数据结构算法基础 之 循环队列(数组实现)
/** * 循环队列 -- 数组实现 */public class CircularQueue { private String[] items; private int n; // 队列大小 private int head = 0; private int tail = 0; public CircularQueue(int n) { ...原创 2019-11-16 11:31:41 · 168 阅读 · 0 评论 -
数据结构算法基础 之 队列(单链表实现)
MyLinkList类 地址 :https://blog.csdn.net/qq_39039478/article/details/103063581/** * 队列之单链表实现 */public class LinkQueue { private MyLinkList myLinkList; private int len; private int h...原创 2019-11-15 14:53:02 · 85 阅读 · 0 评论 -
数据结构算法基础 之 队列(数组实现)
/** * 基于数组的队列 */public class ArrayQueue { private String[] items; private int count; // 队列中元素大小 private int head; // 队列头 private int tail; // 队列尾 public ArrayQueue()...原创 2019-11-15 11:25:30 · 67 阅读 · 0 评论 -
数据结构算法基础 之 栈(单链表实现)
代码中MyLinkList的实现:https://blog.csdn.net/qq_39039478/article/details/103063581/** * 栈 -- 基于链表实现(单链表) */public class LinkStack { private MyLinkList myLinkList; private int len; /...原创 2019-11-14 16:18:32 · 153 阅读 · 0 评论 -
数据结构算法基础 之 栈(数组实现)
数据结构算法基础 之 栈(数组实现) 栈结构特点 : 先进后出 java实现/** * 基于数组的栈 -- 先进后出 * 以存储字符串为例 */public class ArrayStack { private String[] items; private int size; // 栈的元素个数 private ...原创 2019-11-14 14:39:35 · 91 阅读 · 0 评论 -
数据结构与算法基础 之 链表
数据结构算法基础 之 链表(单链表)相较于数组,链表这个数据结构可能要复杂一些. 与数组相比 , 链表在内存上不是连续内存空间 , 是一些零散的内存块 , 通过指针来访问 . 这就要求链表的每一个节点都要有: 1. 指向下一个节点的指针. 2. 该节点可以存放的数据. java代码实现 /** * 链表节点 */public class Node { ...原创 2019-11-14 11:08:33 · 131 阅读 · 0 评论