java数据结构学习
学习不止于前
这个作者很懒,什么都没留下…
展开
-
java常见排序方法
/* * 数组进行排序 */public class SortArr { /* * 冒泡排序 * 1)对数组中的个数据,一次比较相邻的两个元素的大小 * 2)如果前面的数据大于后面的数据,就交换这两个数据,经过第一轮的多次比较排序之后,便可把最小的数据排好 * 3)再用同样的方法把剩下的数据逐个进行比较,最后便可按照从小到大的顺序...翻译 2017-04-19 15:38:52 · 197 阅读 · 0 评论 -
树的创建、插入结点和遍历
import java.util.Scanner;/* * 树的创建、插入结点和遍历 */public class Tree { static final int MAXLEN = 20; static Scanner input = new Scanner(System.in); // 初始化二叉树的根 CBTType InitTree() { ...翻译 2017-04-19 15:40:23 · 363 阅读 · 0 评论 -
顺序表的增删改查
/* * 顺序表的增删改查 */public class SLType { static final int MAXLEN=100;//定义长度 DATA[] listData=new DATA[MAXLEN+1];//保存顺序表的结构数组 int listLen;//顺序表已存结点的数量 //初始化顺序表 void SLInit(翻译 2017-04-19 15:41:05 · 554 阅读 · 0 评论 -
组合数问题
/* * 组合数 :利用C(n,m)=C(n,n-m)=C(n-1,m-1)+C(n-1,m); */public class zuheshu {public static void main(String[] args) {System.out.println(f(4,2));}public static int f(int n, int m){if(m>n) r...原创 2017-04-21 12:28:09 · 278 阅读 · 0 评论 -
图的遍历和创建
import java.util.Scanner;/* * 图的遍历和创建 */public class GraphMatrixCS { static Scanner input =new Scanner(System.in); //创建邻接矩阵图 static void CreateGraph(GraphMatrix GM){ int i,j,...翻译 2017-04-19 15:41:46 · 519 阅读 · 0 评论 -
Fibonacci数列
我们都知道Fibonacci数列的公式是 当我们按照公式写出这样的算法后,可以很容易验证它的正确性,那它的性能到底如何那?对于一个指数算法来说,性能可能是有很大的优化空间的!下面是我测试的一些结果传统版:public static int sum(int N){if(N==0)return 0;if(N==1)return 1;return sum(N-1)+sum(N-2);}/改良...原创 2017-12-26 22:51:55 · 134 阅读 · 0 评论 -
模的指数运算
当X,y有20位时,x的y次方大约有100万位,那如果要求x的y次方对n的模,又该怎么办那?下面给出一个递归版的多项式时间算法原创 2017-12-27 16:44:58 · 3848 阅读 · 0 评论 -
最大公约数【递归版】
x和y的最大公约数;将除数作为被除数,原被除数与除数的模当做除数原创 2017-12-27 16:52:40 · 318 阅读 · 0 评论 -
快速排序算法
快速排序:利用基准数,进行排序,将基准数小的数,放置在其左侧,基准数大的数放置在其右侧代码如下: public static void QuickSort(ref int []arr,int left,int right) { if (null == arr || arr.Length == 0||left>=arr.Length||right>...原创 2018-01-22 16:36:23 · 165 阅读 · 0 评论