
数据结构与算法
iCanCode
这个作者很懒,什么都没留下…
展开
-
JAVA数据结构与算法之堆排序(二叉树)
前言最近面临毕业就业,在复习数据结构与算法,为了更好地掌握,加深印象,所以决定写一些博客来知识复现。温馨提示:这篇博客可能不适合刚学数据结构的新手。算法的简单介绍堆排序的基本思想是:将待排序序列构造成一个大顶堆此时,整个序列的最大值就是堆顶的根节点。将其与末尾元素进行交换,此时末尾就为最大值。然后将剩余n-1个元素重新构造成一个堆,这样会得到n个元素的次小值。如此反复执行,便能得到一个有序序列了。代码实现package sjjg;public class HeapSort {原创 2020-09-28 18:55:39 · 308 阅读 · 0 评论 -
JAVA数据结构与算法之二叉树删除节点
前言最近面临毕业就业,在复习数据结构与算法,为了更好地掌握,加深印象,所以决定写一些博客来知识复现。温馨提示:这篇博客可能不适合刚学数据结构的新手。代码实现package sjjg;public class BinaryTreeDel{ public static void main(String[] args) { // TODO Auto-generated method stub BinaryTree4 binaryTree = new BinaryTree4(); Her原创 2020-09-28 17:31:31 · 336 阅读 · 0 评论 -
JAVA数据结构与算法之二叉树查找(前中后三种)
前言最近面临毕业就业,在复习数据结构与算法,为了更好地掌握,加深印象,所以决定写一些博客来知识复现。温馨提示:这篇博客可能不适合刚学数据结构的新手。代码实现package sjjg;public class BinarySearchTree { public static void main(String[] args) { // TODO Auto-generated method stub BinaryTree3 binaryTree = new BinaryTree3();原创 2020-09-28 15:48:32 · 273 阅读 · 0 评论 -
JAVA数据结构与算法之二叉树遍历(前中后三种)
前言最近面临毕业就业,在复习数据结构与算法,为了更好地掌握,加深印象,所以决定写一些博客来知识复现。温馨提示:这篇博客可能不适合刚学数据结构的新手。简单说明前序遍历: 先输出父节点,再遍历左子树和右子树中序遍历: 先遍历左子树,再输出父节点,再遍历右子树后序遍历: 先遍历左子树,再遍历右子树,最后输出父节点小结: 看输出父节点的顺序,就确定是前序,中序还是后序代码实现package sjjg;public class BinaryTreePrint { public st原创 2020-09-28 14:34:43 · 195 阅读 · 0 评论 -
JAVA数据结构与算法之斐波那契查找(黄金分割点)
前言最近面临毕业就业,在复习数据结构与算法,为了更好地掌握,加深印象,所以决定写一些博客来知识复现。温馨提示:这篇博客可能不适合刚学数据结构的新手。算法的简单介绍黄金分割点是指把一条线段分割为两部分,使其中一部分与全长之比等于另一部分与这部分之比。取其前三位 数字的近似值是0.618。由于按此比例设计的造型十分美丽,因此称为黄金分割,也称为中外比。这是一个神 奇的数字,会带来意向不大的效果。斐波那契数列{1,1,2,3,5,8,13,21,34,55}发现斐波那契数列的两个相邻数的比例,无限接近原创 2020-09-28 09:51:26 · 258 阅读 · 0 评论 -
JAVA数据结构与算法之插值查找
前言最近面临毕业就业,在复习数据结构与算法,为了更好地掌握,加深印象,所以决定写一些博客来知识复现。温馨提示:这篇博客可能不适合刚学数据结构的新手。算法的简单介绍插值查找算法类似于二分查找,不同的是插值查找每次从自适应 mid 处开始查找。插值查找算法跟二分查找算法一样,也要求数组是有序的。代码实现package sjjg;public class InsertValueSearch { public static void main(String[] args) { //原创 2020-09-27 18:45:04 · 159 阅读 · 0 评论 -
JAVA数据结构与算法之二分查找
前言最近面临毕业就业,在复习数据结构与算法,为了更好地掌握,加深印象,所以决定写一些博客来知识复现。温馨提示:这篇博客可能不适合刚学数据结构的新手。算法说明使用二分查找的前提是 该数组是有序的。代码实现package sjjg;public class BinarySearch { public static void main(String[] args) { // TODO Auto-generated method stub int arr[] = { 1, 2, 3, 4原创 2020-09-27 18:33:10 · 154 阅读 · 0 评论 -
JAVA数据结构与算法之基数排序(桶排序)
前言最近面临毕业就业,在复习数据结构与算法,为了更好地掌握,加深印象,所以决定写一些博客来知识复现。温馨提示:这篇博客可能不适合刚学数据结构的新手。算法的简单介绍将所有待比较数值统一为同样的数位长度,数位较短的数前面补零。然后,从最低位开始,依次进行一次排序。这样从最低位排序一直到最高位排序完成以后, 数列就变成一个有序序列。将数组 {53, 3, 542, 748, 14, 214} 使用基数排序, 进行升序排序代码实现package sjjg;public class Radix原创 2020-09-26 19:22:55 · 145 阅读 · 0 评论 -
JAVA数据结构与算法之归并排序
前言最近面临毕业就业,在复习数据结构与算法,为了更好地掌握,加深印象,所以决定写一些博客来知识复现。温馨提示:这篇博客可能不适合刚学数据结构的新手。算法的简单介绍归并排序(MERGE-SORT)是利用归并的思想实现的排序方法,该算法采用经典的分治(divide-and-conquer) 策略(分治法将问题分(divide)成一些小的问题然后递归求解,而治(conquer)的阶段则将分的阶段得到的各答案"修 补"在一起,即分而治之)。再来看看治阶段,我们需要将两个已经有序的子序列合并成一个有序序列,原创 2020-09-26 17:57:39 · 155 阅读 · 0 评论 -
JAVA数据结构与算法之快速排序
前言最近面临毕业就业,在复习数据结构与算法,为了更好地掌握,加深印象,所以决定写一些博客来知识复现。温馨提示:这篇博客可能不适合刚学数据结构的新手。算法的简单介绍快速排序(Quicksort)是对冒泡排序的一种改进。基本思想是:通过一趟排序将要排序的数据分割成独立的两 部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排 序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。代码实现package sjjg;public class Q原创 2020-09-26 15:58:50 · 196 阅读 · 0 评论 -
JAVA数据结构与算法之插入排序
前言最近面临毕业就业,在复习数据结构与算法,为了更好地掌握,加深印象,所以决定写一些博客来知识复现。温馨提示:这篇博客可能不适合刚学数据结构的新手。算法的简单介绍插入排序(Insertion Sorting)的基本思想是:把 n 个待排序的元素看成为一个有序表和一个无序表,开始时有 序表中只包含一个元素,无序表中包含有 n-1 个元素,排序过程中每次从无序表中取出第一个元素,把它的排 序码依次与有序表元素的排序码进行比较,将它插入到有序表中的适当位置,使之成为新的有序表。代码实现package原创 2020-09-26 12:28:29 · 179 阅读 · 0 评论 -
JAVA数据结构与算法之选择排序
前言最近面临毕业就业,在复习数据结构与算法,为了更好地掌握,加深印象,所以决定写一些博客来知识复现。温馨提示:这篇博客可能不适合刚学数据结构的新手。算法的简单介绍选择排序(select sorting)也是一种简单的排序方法。它的基本思想是:第一次从 arr[0]~arr[n-1]中选取最小值,与 arr[0]交换,第二次从 arr[1]~arr[n-1]中选取最小值,与 arr[1]交换,第三次从 arr[2]~arr[n-1]中选取最小值,与 arr[2] 交换,…,第 i 次从 arr[i-1原创 2020-09-26 12:00:41 · 149 阅读 · 0 评论 -
JAVA数据结构与算法之冒泡排序
前言最近面临毕业就业,在复习数据结构与算法,为了更好地掌握,加深印象,所以决定写一些博客来知识复现。温馨提示:这篇博客可能不适合刚学数据结构的新手。算法的简单介绍冒泡排序(Bubble Sorting)的基本思想是:通过对待排序序列从前向后(从下标较小的元素开始),依次比较 相邻元素的值,若发现逆序则交换,使值较大的元素逐渐从前移向后部,就象水底下的气泡一样逐渐向上冒。代码实现package sjjg;public class BubbleSort { public static voi原创 2020-09-26 11:03:35 · 176 阅读 · 0 评论