数据结构与算法
文章平均质量分 54
jeanszu
这个作者很懒,什么都没留下…
展开
-
快速排序
注,代码是从网上down的,本人做了思想和关键语句的注释package com.sufa.test;public class QuickSort { /* * 快速算法 * 取一个key值,将序列分为左区间、右区间,其中左区间的数均小于key值,右区间的数均大于key值 * 递归对左区间和右区间进行排序 * */ public static void原创 2013-03-05 17:00:13 · 493 阅读 · 0 评论 -
折半插入排序
先将算法程序发布package com.sufa.test;public class BinaryInsertSort { public static void main(String[] args) { // TODO Auto-generated method stub int[] a = { 46, 58, 15, 45, 90, 18, 10,原创 2013-03-01 16:20:19 · 409 阅读 · 0 评论 -
插入排序(java)
插入排序的思想如下:每次从无序表中取出第一个元素,把它插入到有序表的合适位置,使有序表仍然有序。 第一趟比较前两个数,然后把第二个数按大小插入到有序表中; 第二趟把第三个数据与前两个数从前向后扫描,把第三个数按大小插入到有序表中;依次进行下去,进行了(n-1)趟扫描以后就完成了整个排序过程。 直接插入排序属于稳定的排序,时间复杂性为o(n^2),空间复杂度为O原创 2011-10-08 22:46:51 · 458 阅读 · 0 评论 -
二叉树的遍历
public class TreeTest { static class TreeNode{ public String data;//数据 public TreeNode lChild;//左孩子 public TreeNode rChild;//右孩子 }; /** * @Title: main * @Description: TODO(这里用一句话描述这个原创 2013-03-01 15:22:33 · 365 阅读 · 0 评论 -
希尔排序
先将代码贴上,后续补充内容。package com.sufa.test;public class ShellSort { /** * @Title: main * @Description: TODO(这里用一句话描述这个方法的作用) * @param @param args 设定文件 * @return void 返回类型 * @throws原创 2013-03-01 17:47:05 · 401 阅读 · 0 评论 -
归并排序原理
原创 2013-03-13 17:12:13 · 572 阅读 · 0 评论 -
查找算法之二叉排序树查找
一、算法思路二、适用场景三、例子原创 2013-03-17 21:21:14 · 558 阅读 · 0 评论 -
查找算法之折半查找
一、查找算法的思路 折半查找适用于在有序表中进行查找,先与有序表的中间元素进行比较,有三种情况:1)等与中间元素,则查找成功;2)小于中间元素,则继续在小数区间查找;3)大于中间元素,则继续在大数区间进行查找。二、适用情况 1、适用于在有序表中查找; 2、适用于一经建立就很少改动,并且经常需要查找的线性表。三例子 pub原创 2013-03-17 21:19:54 · 716 阅读 · 0 评论 -
查找算法之哈希查找
一、算法思路二、适用场景三、例子原创 2013-03-17 21:22:00 · 557 阅读 · 0 评论