数据结构
lyl130
这个作者很懒,什么都没留下…
展开
-
冒泡排序算法
冒泡排序算法是所有排序算法中最简单、最基本的一种。冒泡排序算法的思路就是交换排序,通过相邻数据的交换来达到排序的目的。 排序流程: 1)对数组中的各个数据,一次比较相邻的二个元素的大小 2)如果前面的数据大于后面的数据,就交换这两个数据的。经过第一轮的多次比较排序后,便可将最小的数据排好 3)再用同样的方法依次进行比较 例如...原创 2015-06-27 21:53:55 · 81 阅读 · 0 评论 -
堆排序法
转:http://www.cnblogs.com/hexiaochun/archive/2012/09/04/2671076.html堆排序是一种利用完全二叉树来解决问题的高效算法,合法的最大堆树要满足一个条件就是每一个结点值都要大于或等于它的孩子结点值。在一个数组中那专业法表示为:arrays[i]>=arrays[2*i+1] && arrays[i]>...原创 2015-06-28 11:12:54 · 95 阅读 · 0 评论 -
合并排序算法
合并排序算法就是将多个有序数据表合并成一个有序数据表。如果参与合并的只有两个有序表,则称为二路合并。 排序流程: 原始数据: 67 65 77 38 97 3 33 49 34 第一遍: 65 67 38 77 3 79 33 49 34 第二遍: 38 65 67 77 3 33 49 97 34 第三遍: 3 3...原创 2015-06-28 11:07:31 · 115 阅读 · 0 评论 -
快速排序算法
快速排序算法和冒泡排序算法类似,都是基于交换排序思想的,快速排序算法对冒泡排序算法进行了改进,从而具有更高的执行效率 通过多次比较和交换来实现排序,流程如下: 1)首先设定一个分界值,通过该分界值将数组分成左右两部分 2)将大于等于分界值得数据集中到数组右边,小于分界值得数据集中到数组的左边。此时,左边部分中各元素都小于等于分界值,而右边部分中各元素都大于等于...原创 2015-06-28 10:53:59 · 114 阅读 · 0 评论 -
一个简单的队列
[code="java"]public class MyQueue { private long[] arr; private int front; private int end; // 有效数据的大小 private int elements; public MyQueue() { arr = new long[10]; elements =...原创 2015-06-28 10:26:09 · 76 阅读 · 0 评论 -
一个简单的java栈
[code="java"]public class MyStack { private long[] arr; private int top; public MyStack() { arr = new long[10]; top = -1; } public MyStack(int maxsize) { arr = new long[maxs...原创 2015-06-28 10:25:56 · 95 阅读 · 0 评论 -
shell排序算法
shell排序算法严格来说基于插入排序的思想,其又称为希尔排序或者缩小增量排序。shell排序算法的排序流程如下: 1)将n个元素的数组分为n/2个数据序列,第一个数据和第n/2+1个数据为一对 2)一次循环使每一个序列对应排好顺序 3)然后,再变为n/4个序列,再次排序 4)不断重复上述过程 例如如下数据排序 初始数据 ...原创 2015-06-27 22:23:52 · 174 阅读 · 0 评论 -
插入排序算法
插入排序算法通过对未排序的数据执行逐个插入至合适的位置而完成排序工作。 通过比较和插入来实现排序,其排序流程如下: 1)首先对数组的前两个数据进行从小到大的排序 2)接着将第三个数据与排好序的二个数据比较。将第三个数据插入合适的位置 3)然后,将第四个数据插入已排好序的前3个数据中。 4)不断重复上述过程,直到最后一个数据插入合适的位置...原创 2015-06-27 22:10:29 · 64 阅读 · 0 评论 -
选择排序算法
选择排序算法是比较简单的排序算法,其思路比较直观,选择排序算法在每一步中选取最小值来重新判断,从而达到排序的目的。 排序流程如下: 1)首先从原始数组中选择最小的一个数据,将其和位于第一个位置的数据交换 2)接着从剩下的n-1个数据中选词次小的一个数据,将其和第二个位置的数据交换 3)然后不断重复上述过程,直到最后二个数据完成交换 例如...原创 2015-06-27 22:03:08 · 64 阅读 · 0 评论 -
链表栈
[code="java"]public class Node { private Object object; private Node next; public Node() { this.next = null; this.object = null; } public Object getObject() { return object;...原创 2015-06-29 07:44:58 · 105 阅读 · 0 评论