
java数据结构--算法
Altynai0514
人类的生活因为优秀的程序员和美妙的程序而变得更加美好
展开
-
二叉查找树之插入算法
/** * 二叉查找树之插入算法 * @author zheng */public class BinarySortTree { private Node root; private static BinarySortTree tree = new BinarySortTree(); // 添加数据 public void add(int data) { // 递归调用原创 2013-10-10 16:10:59 · 773 阅读 · 0 评论 -
选择排序
package sort;/** * 选择排序 * (首先遍历线性表并将最小的元素与第一个元素进行交换,随后遍历剩余的元素将第二小的元素与第二个元素进行交换,以此类推) * @author zheng */public class SelectSort { public static void main(String[] args) { int[] arr={12,33,213,原创 2013-10-10 15:46:59 · 615 阅读 · 0 评论 -
冒泡排序算法
package sort;/** * 冒泡排序 * (比较相邻的两个元素,如果它们之间的大小关系与期望的关系相反(逆序),则交换两个元素的位置;否则不交换) * @author zheng */public class BubbleSort { public static void main(String[] args) { int[] arr={12,33,213,43,11,原创 2013-10-10 15:37:03 · 617 阅读 · 0 评论 -
java快速排序
快速排序是一种基于分治的算法,其基本思想是将一个大数组按照一个基准数分成左右两份,左边的部份都不大于基准数,右边的部分都不小于基准数。然后,对这两份再分别应用快速排序,直到分到只剩2个数为止。快速排序在通常情况下是最快的排序算法,以下是用Python实现的一个例子:#!/usr/bin/env python# -*-coding: utf8 -*-''' Quick so转载 2015-10-25 22:37:27 · 334 阅读 · 0 评论 -
java代码将数组元素顺序颠倒输出
import java.util.Arrays;public class Sort { /** * 用java代码将随机数组元素顺序颠倒输出 * @author zheng */ public static void main(String[] args) { //随机输出若干个两位数数组元素 int[] arr=new int[]{ (int原创 2013-10-10 15:14:56 · 7559 阅读 · 0 评论 -
java判断回文数
/* * 判断一个整数是否是回文数。 * 如果是返回‘true’,否则返回‘false’ */public class Test { public static void main(String[] args) { int a=123454321; System.out.println(shu(a)); } public static boolean shu(int a)原创 2013-11-14 19:58:26 · 952 阅读 · 0 评论 -
二叉查找树之查找算法
/** * 二叉查找树之查找算法 * @author zheng */public class FindSortTree { private Node root; // 添加数据 public void add(int data) { // 递归调用 if (null == root) root = new Node(data, null, null); else原创 2013-10-10 16:09:06 · 802 阅读 · 0 评论 -
递归算法
package sort;/** * 递归算法 * 三角数列: 1,3,6,10,15,21...... * @author zheng */public class Sort1 { public int data(int n){ if(n<=1) return 1; return n+data(n-1); } public static void main(S原创 2013-10-10 15:58:49 · 617 阅读 · 0 评论 -
归并排序
/** * 归并排序 * @author zheng */public class MergeSort { public static void main(String[] args) { int[] num = { 51, 38, 49, 27, 62, 05, 16 ,-14,55}; int[] temp = new int[num.length]; num = mer原创 2013-10-10 16:02:51 · 663 阅读 · 0 评论 -
直接插入排序
package sort;/** * 直接插入排序 * (将第一个元素看成有序序列,后面的元素依次插入该序列使之还是一个有序序列) * @author zheng */public class InsertSort { public static void main(String[] args) { int[] arr={12,33,213,43,11,25}; //从第二个原创 2013-10-10 15:55:07 · 591 阅读 · 0 评论 -
希尔(shell)排序
package sort;/** * 希尔排序 * (先将整个待排元素序列分割成若干个子序列【由相隔某个”增量“组成】,分别进行直接插入排序,然后依次缩减增量再进行排序,待整个序列中元素增量足够小时,再全体进行一次直接插入排序) * @author zheng */public class ShellSort { public static void main(String[] ar原创 2013-10-10 15:43:20 · 814 阅读 · 0 评论 -
java顺序查找算法
/** * 顺序查找 * @author zheng */public class Sort { public static void main(String[] args) { int[] arr={3,23,35,66,78,33}; int find=23; for(int i=0;i<arr.length;i++){ if(find==arr[原创 2013-10-10 15:23:13 · 967 阅读 · 0 评论 -
java折半查找
/** * 折半查找 * @author zheng */public class Sort { public static void main(String[] args) { int[] arr={3,23,35,66,78,33}; int find=78; int low=0; int hight=arr.length-1; while(l原创 2013-10-10 15:27:11 · 826 阅读 · 0 评论 -
折半插入元素
package sort;/** * 折半插入排序 * (向有序序列中插入元素,插入位置可以不断地平分有序序列,并把带插入元素与平分有序序列得到的元素进行比较,以确定下一步要平分的子序列,直到找到合适的插入位置) * @author zheng */public class BInsertSort { public static void main(String[] args) {原创 2013-10-10 15:51:14 · 687 阅读 · 0 评论