数据结构
人间诗画
这个作者很懒,什么都没留下…
展开
-
波兰式和逆波兰式
波兰式和逆波兰式例子原创 2015-03-10 11:26:00 · 1767 阅读 · 0 评论 -
数据结构-数组-找出数组中第二小的一个数字
思路整理:这个问题的处理思路有两个:1,把数组排序。排序算法中效率最高的时间复杂度为O(nlnogn)2,遍历数组,找出最小的两个数字。时间复杂度为O(n)下面我们用第二种方法来处理这个问题。/** * 找出数组中第二小的一个数字 */public class ArraySecondMinNum { @Test public void start() {...原创 2018-12-29 15:09:56 · 6178 阅读 · 1 评论 -
fibonacci数列的递归与非递归实现
fibonacci数列的递归与非递归实现public class fibonacci { public static void main(String arg[]){// fib1(); System.out.println(fib2(4)); } static void fib1(){ int i; int原创 2015-08-20 11:16:39 · 595 阅读 · 0 评论 -
BF算法
BF算法import java.util.ArrayList;import java.util.List;public class BfMath { /** * //串一中包含几个串二,在串一中的起始地址 * @param str1 * @param str2 * @return */ public static List原创 2015-08-20 11:12:47 · 551 阅读 · 0 评论 -
杨辉三角java实现
杨慧三角java实现public class YH { public static void main(String[] args) { int a[][]=new int [10][10]; int i,j,n=10; for(i = 0;i < n ;i++) { for(int k=0;k<n-i;k++){ System.out.print(" ");原创 2015-08-20 11:21:34 · 586 阅读 · 0 评论 -
汉诺塔实现
汉诺塔实现public class hanoi { public static void main(String[] args) { move(2,'x','y','z'); } static void move(int n,char x ,char y ,char z ){ if (n==1){ System.out.println(x+"--->"+z); }原创 2015-08-20 11:18:27 · 456 阅读 · 0 评论 -
八皇后问题java实现
八皇后问题java实现public class eightqueen { public static int count=0; public static void main(String[] args) { int chess[][]=new int [8][8]; search(chess,0,8); } static void search(int che原创 2015-08-20 11:20:25 · 880 阅读 · 0 评论 -
KMP算法
KMP算法public class KmpmMethod { /** * 具体的匹配 * @param str1 * @param str2 * @return */ public static int kMPMatcher(String str1,String str2){ int i=0,j=-1; int原创 2015-08-20 11:13:54 · 321 阅读 · 0 评论 -
二分查找java实现
二分查找java实现public class BinarySearch { public static void main(String[] args) { int [] a={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15}; BSearch(a,100); } private static void BSearch(int [] a ,int i)原创 2015-08-20 11:37:36 · 311 阅读 · 0 评论 -
快速排序及其优化
快速排序及其优化public class QuickSort { public static void main(String[] args) { int [] a ={1,2,3,0,9,8,7,6,5,4}; Sort(a,10); for(int k=0;k<a.length ;k++){ System.out.print(a[k]+" "); } } p原创 2015-08-20 11:07:17 · 506 阅读 · 0 评论 -
希尔排序
希尔排序public class ShellSort { public static void shellsort(int [] a){ int i,j,temp; int gap=5; do{ gap=gap/3+1; for( i=gap;i<a.length ;i++){ if(a[i]<a[i-gap]){ temp=a[i]; for(原创 2015-08-19 16:42:44 · 309 阅读 · 0 评论 -
堆排序
堆排序public class HeapSort { public static void heapsort(int [] a,int n){ int i; for(i=n/2;i>0;i--){ heapadjust(a,i,n); } for (i=n;i>1;i--){ swap(a,1,i); heapadjust(a,1,i-1); } f原创 2015-08-19 16:43:43 · 336 阅读 · 0 评论 -
直接插入排序
直接插入排序public class InsertSort { public static void insertsort(int [] a,int n){ int i,j,temp; for( i=0;i<n-1 ;i++){ if(a[i+1]<a[i]){ temp=a[i+1]; for( j=i;j>=0&&a[j]>temp;j--){ a原创 2015-08-19 16:41:15 · 316 阅读 · 0 评论 -
选择排序
选择排序public class SelectSort { public static void selectsort(int [] a){ int temp,min; for(int i=0;i<a.length ;i++){ min=i; for(int j=i+1;j<a.length ;j++){ if(a[min]>a[j]){ min=j;原创 2015-08-19 16:40:15 · 521 阅读 · 0 评论 -
冒泡排序及其优化
冒泡排序及其优化public class BubbleSort { public static void bubble(int [] a){ int temp; for(int i=0;i<a.length -1;i++){ for(int j=a.length -1;j>i;j--){ if(a[j]<a[j-1]){ temp=a[j]; a[j原创 2015-08-19 16:38:02 · 310 阅读 · 0 评论 -
拓扑排序
拓扑排序原创 2015-03-10 16:31:58 · 700 阅读 · 0 评论 -
数据结构-数组-找到数组中第一个不重复出现的整数
思路梳理这个问题的处理思路大概有两个方向:思路一:空间换时间,如果空间足够的话,使用一个数组来存储每个数字出现的次数,比如如果规定数组中数字最大值小于1000,这样可以设置数组长度为1000存储数字出现的次数。如果数字的大小太大的话,这种方式就不适合了,浪费太多空间。如果必须要使用该方法,同时又对空间有一定限制,可以使用位图法来表示该数字是否出现,这种方法的问题是不能输出重复的次数。时间复...原创 2018-12-29 16:16:46 · 4948 阅读 · 1 评论