
数据结构
沐沐牡
这个作者很懒,什么都没留下…
展开
-
排序之冒泡排序
public class BubbleSort { //简单冒泡 public void sort1(int[] array){ int len = array.length; //上界不一样 for(int i = 0; i<len-1;i++){ for(int j = i+1;j<len;j++){ if(array[i]>array[j]) sw原创 2017-05-22 17:13:06 · 130 阅读 · 0 评论 -
排序之归并排序
public class MergeSort { //从array[i]到array[j]排序 public void sort(int[] array, int i,int j){ int mid = (i+j)/2; if(i<j){ sort(array,i,mid); sort(array,mid+1,j); merge(array,原创 2017-05-22 19:48:42 · 185 阅读 · 0 评论 -
排序之堆排序
public class HeapSort { public static void sort(int[] array){ int len = array.length; for(int i = len/2-1; i>=0; i--) heapAdjust(array,i,len); for(int j = len-1; j>=1; j--){ swap(array,0原创 2017-05-22 17:23:25 · 205 阅读 · 0 评论 -
排序之希尔排序
public class ShellSort { public void sort(int[] array){ int len = array.length; int increment = len; int j; do{ increment = increment/3+1; for(int i = increment; i<len;i++){ int t原创 2017-05-22 17:22:15 · 200 阅读 · 0 评论 -
排序之插入排序
public class InsertSort { public void sort(int[] array){ int len = array.length; int temp, j; for(int i = 0; i<len; i++){ temp = array[i]; for(j = i-1;j>=0&&array[j]>temp;j--){ arr原创 2017-05-22 17:21:19 · 208 阅读 · 0 评论 -
二叉树的中序遍历
class Solution { //递归实现 ArrayList list = new ArrayList(); public ArrayList midorderTraversal(TreeNode root) { if(root != null){ midorderTraversal(root.left); list.原创 2017-06-02 16:45:45 · 219 阅读 · 0 评论 -
二叉树的前序遍历
class Solution { //递归实现 ArrayList list = new ArrayList(); public ArrayList preorderTraversal(TreeNode root) { if(root != null){ list.add(root.val); preorderTravers原创 2017-06-02 16:23:09 · 205 阅读 · 0 评论 -
二叉树的后序遍历
class Solution{//递归实现 ArrayList list = new ArrayList(); public ArrayList postorderTraversal2(TreeNode root) { //后序遍历 if(root!=null){ postorderTraversal2(root.le原创 2017-06-02 16:16:04 · 234 阅读 · 0 评论 -
排序之选择排序
public class ChooseSort { public void sort(int[] array){ int len = array.length; int min = 0; for(int i = 0; i<len-1; i ++){ min = i; for(int j = i+1; j<len; j++){ if(array[j] < arr原创 2017-05-22 17:20:09 · 173 阅读 · 0 评论 -
排序算法对比
排序算法经过了很长时间的演变,产生了很多种不同的方法。对于初学者来说,对它们进行整理便于理解记忆显得很重要。每种算法都有它特定的使用场合,很难通用。因此,我们很有必要对所有常见的排序算法进行归纳。 我不喜欢死记硬背,我更偏向于弄清来龙去脉,理解性地记忆。比如下面这张图,我们将围绕这张图来思考几个问题。 上面的这张图来自一个PPT。它概括了数据结构中的所有常见转载 2017-05-22 17:18:17 · 226 阅读 · 0 评论 -
排序之快排
public class QuickSort { public void sort(int[] array, int i, int j){ int location; if(i<j){ location = partition(array, i, j); sort(array, i, location-1); sort(array, locat原创 2017-05-22 21:20:57 · 229 阅读 · 0 评论