
数据结构
文章平均质量分 76
普通网友
这个作者很懒,什么都没留下…
展开
-
二叉树学习总结
二叉树学习总结二叉树的前序、中序、后序排列经常在面试中出现。总结一下近期学习的经验:1:首先,需要确定查找先左后右还是先右后左?一般情况下,数据结构的书籍都是确定先左后右。2:在前序、中序、后序的排列中,始终都是L在R之前,所谓的前中后,是按照根节点的D这个字母在三者中的相对位置决定的。前序排列:DLR中序排列:LDR后序排列:LRD 二叉树的序排列问题:前原创 2012-11-08 16:43:00 · 1049 阅读 · 0 评论 -
利用冒泡排序对数组进行排序
一、冒泡排序: 利用冒泡排序对数组进行排序二、基本概念: 依次比较相邻的两个数,将小数放在前面,大数放在后面。即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。至此第一趟结束,将最大的数放到了最后。在第二趟:仍从第一对数开始比较(因为可能由于第2个数和原创 2013-08-04 11:02:43 · 3692 阅读 · 0 评论 -
Java程序员必知的8大排序
8种排序之间的关系:1, 直接插入排序(1)基本思想:在要排序的一组数中,假设前面(n-1)[n>=2] 个数已经是排好顺序的,现在要把第n个数插到前面的有序数中,使得这n个数也是排好顺序的。如此反复循环,直到全部排好顺序。(2)实例(3)用java实现package ppl; public class insertSort {原创 2013-10-13 20:26:37 · 1527 阅读 · 0 评论 -
Java排序算法总结(一):插入排序
有一个已经有序的数据序列,要求在这个已经排好的数据序列中插入一个数,但要求插入后此数据序列仍然有序,这个时候就要用到插入排序法。本文主要介绍的是插入排序的java实现。 插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数据。比较和交换的时间复杂度为O(n^2),算法自适应,对于数据已基本有序的情况,时间复杂度为O(n),算法稳定,开销很低。算法原创 2013-10-14 19:44:19 · 2556 阅读 · 0 评论 -
Java排序算法总结(四):希尔排序
Java排序算法总结(四):希尔排序 前言:希尔排序(Shell Sort)是插入排序的一种。是针对直接插入排序算法的改进。该方法又称缩小增量排序, 因DL.Shell于1959年提出而得名。本文主要介绍希尔排序用Java是怎样实现的。 希尔排序(缩小增量法) 属于插入类排序,是将整个无序列分割成若干原创 2013-11-16 21:47:35 · 1289 阅读 · 0 评论 -
Java排序算法总结(五):归并排序
Java排序算法总结(五):归并排序 归并操作(merge),也叫归并算法,指的是将两个已经排序的序列合并成一个序列的操作。和快速排序类似,让我们一起来看,归并在Java中的实现。 归并排序(Merge)是将两个(或两个以上)有序表合并成一个新的有序表,即把待排序序列分为若干个子序列,每个子序列是有序的。然后再把有序子序列合并为整原创 2013-11-16 21:52:22 · 1422 阅读 · 0 评论 -
Java排序算法总结(六):堆排序
Java排序算法总结(六):堆排序原创 2013-11-16 21:58:02 · 1275 阅读 · 0 评论 -
Java排序算法总结(三):冒泡排序
Java排序算法总结(三):冒泡排序前言:冒泡排序(BubbleSort)就是依次比较相邻的两个数,将小数放在前面,大数放在后面。 下面让我们一起 来看冒泡排序在Java中的算法实现。 冒泡排序是计算机的一种排序方法,它的时间复杂度为O(n^2),虽然不及堆排序、快速排序的O(nlogn,原创 2013-11-16 21:41:53 · 1709 阅读 · 0 评论 -
Java排序算法总结(二):选择排序
选择排序的基本操作就是每一趟从待排序的数据元素中选出最小(或最大)的一个元素,顺序放在已排好序的数列的最后,直到全部待排序的数据元素排完。算法不稳定,O(1)的额外的空间,比较的时间复杂度为O(n^2),交换的时间复杂度为O(n),并不是自适应的。在大多数情况下都不推荐使用。只有在希望减少交换次数的情况下可以用。 基本思想 n个记录的文件的直接选择排序可经过n-1趟直接选原创 2013-11-09 20:19:37 · 1258 阅读 · 1 评论