数据结构与算法
llbupt
这个作者很懒,什么都没留下…
展开
-
堆排序算法(java实现)
public class HeapSort { public static int heap_size; //双亲编号 public static int parent(int i){ return i/2; } //左孩子编号 public static int leftChild(int i){ return 2*i; } //右孩子编号 public static原创 2012-04-01 15:34:59 · 4252 阅读 · 1 评论 -
插入排序算法(java实现)
public class InsertSort { public static void insertSort(int[] a){ for(int i = 2; i<a.length; i++){ a[0] = a[i];//a[0]作为哨兵元素 int j = i - 1; while(j>0 && a[j]> a[0] ){ a[j+1] = a[j];原创 2012-04-01 15:35:59 · 707 阅读 · 0 评论 -
合并排序算法(java实现)
public class MergeSort2 { public static void merge(int a[], int p, int q, int r){ int l1 = q-p+1; int l2 = r-q; int[] array1 = new int[l1 + 1]; int[] array2 = new int[l2 + 1]; for(int i = 0原创 2012-04-01 15:36:50 · 2854 阅读 · 0 评论 -
快速排序算法(java实现)
/** * 快速排序,不稳定,原地排序 * 交换排序方法中最快的一种排序,时间复杂度O(nlogn) * 思想:通过一趟排序将待排序记录分割成独立的两部分,其中一部分记录的关键字均比另一部分的关键字小, * 则可分别对这两部分记录继续进行排序,已达到整个序列有序。 */ public class QuickSort { public static int partition(int[]原创 2012-04-01 15:37:25 · 941 阅读 · 0 评论 -
java实现二叉查找树以及相关操作
package com.dataStructure.searchTree; /** * 二叉查找树,对于其中的任何一个结点x,如果y是x左子树中的一个结点,那么y的关键字一定不大于x的关键字; * 如果y是x右子树中的一个结点,那么y的关键字一定不小于x的关键字 */ public class BinarySearchTree { private static Node root = n原创 2012-04-03 21:21:11 · 771 阅读 · 0 评论