
数据结构与算法
小黄鸭会发光丶
态度决定了前进的方向
展开
-
排序算法---冒泡排序(Bubble Sort)
这篇博客是我在简书上写的一篇文章,直接从markdown文本拷过来的 简书地址书上说:“冒泡排序算法是所有排序算法中最简单、最基本的一种”。。。?! 哇。。。讲真我花了一个小时才完全领悟(发现自己好蠢呐,也可能是太久没碰算法和数据结构之类的东西了)不多BB,进入正题算法基本思想:对相邻的元素进行两两比较,顺序相反则进行交换,这样,每一趟会将最小或最大的元素“浮”到顶端,最终达到完全有序。就好像一原创 2017-07-29 17:19:24 · 477 阅读 · 0 评论 -
排序算法---选择排序(Selection Sort)
查看原文:简书地址刚刚写完了冒泡排序,激动的我停不下来,然后马上看了选择排序。 发现果然踩过前面的坑之后,现在自己学起来会快很多。 所以各位学习的童鞋,你们对于数据结构和算法方面的学习一定要持之以恒,相信终有一天会练成传说中的无敌神功。哈哈,毕竟这么迟钝的我也在慢慢努力。但是我坚信:“所有的梦想都会因努力而不期而遇”!算法基本思想:从所有序列中先找到最小的,然后放到第一个位置。之后再看剩余元素中原创 2017-07-29 17:26:41 · 351 阅读 · 0 评论 -
排序算法---插入排序(Insertion Sort)
查看原文:这里写链接内容算法基本思想:插入排序(Insertion Sort)算法通过对未排序的数据执行逐个插入至合适的位置而完成排序工作。排序流程:首先对数组的前两个数据进行从小到大排序然后将第三个数据与前面排好的数据进行比较,把第三个数插入合适的位置然后将第四个数据插入到前三个数据中重复此步骤,直到最后一个数插入合适的位置为止,到此排序完成代码实现import java.util.Ar原创 2017-07-29 17:28:37 · 463 阅读 · 0 评论 -
排序算法---希尔排序(Shell Sort)
前面一口气写了冒泡、选择、插入三个排序算法,感觉今天和他们死磕上了。。。 就不该十一点多还看了几眼。。。然后又掉坑里了,大半夜果然的效率低,看个希尔排序然后居然写了1个小时。。。哇,难受抄起键盘一顿梭,就是干 严格来说,希尔排序是基于插入排序的思想的,稍后在代码里可以看出,希尔排序又称缩小增量排序,是简单插入排序的增强版本,于1959年由Donald Shell提出。算法基本思想:将原创 2017-07-31 20:58:53 · 337 阅读 · 0 评论 -
排序算法---快速排序(Quick Sort)
快速排序和冒泡排序类似,都是基于交换的思想,快速排序对冒泡排序进行了优化,从而更加快速高效(从名字就可以看出应该很牛批…)算法基本思想:首先选取一个基准值,然后根据这个基准将数组分为了左右两部分将这左右两个部分中的数据,和基准值做比较,大于基准值的放在右边,小于基准值的放在左边此时对于基准值而言,已经 “排序 ” 完成,即“比我小的全在我左边,比我大的全在我右边”然后再对左右两部循环进行同样原创 2017-07-31 21:00:11 · 484 阅读 · 0 评论 -
排序算法---堆排序(Heap Sort)
堆排序算法,基于选择排序的思想,利用堆结构的性质来完成对数据的排序。 前提准备: 什么是堆结构: 堆数据结构是一种数组对象,它可以被视为一科完全二叉树结构。它的特点是父结点的值大于(小于)两个子结点的值(分别称为大顶堆和小顶堆) 堆结构的性质: 对于第n个结点而言 — 它的父结点下标 i = (n-1)/ 2,左子结点 left = 2n+1,右子结点 rig原创 2017-08-01 01:13:33 · 664 阅读 · 0 评论 -
排序算法---合并排序(Merge Sort)
合并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法的一个非常典型的应用。合并排序法是将两个(或两个以上)有序表合并成一个新的有序表,即把待排序序列分为若干个子序列,每个子序列是有序的。然后再把有序子序列合并为整体有序序列。 将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为2-路归并。合并排序也叫归并排序。原创 2017-08-02 13:24:30 · 1808 阅读 · 0 评论 -
链式二叉树
关于二叉树的基本性质和结构特征,在此不做详细说明,因为网上的文章非常多,可以查阅本文主要以泛型实现链式二叉树的基本方法,包括:1. 添加结点 2. 查找结点 3. 计算深度 4. 清空子树 5. 前序遍历 6. 中序遍历 7. 后序遍历结构示意图结点类 — Node.javapackage tree;/** * Created by noonbiteun * Date: 2017原创 2017-08-10 20:37:56 · 392 阅读 · 0 评论