Java - busqueda binaria

 
Vista:
sin imagen de perfil

busqueda binaria

Publicado por Wilson (3 intervenciones) el 28/08/2016 03:02:57
necesito implementar el código de búsqueda binaria a un código existente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
package estructuras;
 
 
public class ejercicio {
	public static void otra_forma_de_ordenar (int a[],int inicio,int fin){
		int pivote=a[inicio];
		int i=inicio;
		int j=fin;
 
		int aux;
		while(i<j){
			while(a[i]<=pivote && i<j) i++;
			while(a[j]>pivote) j--;
			if (i<j) {
				aux= a[i];
				a[i]=a[j];
				a[j]=aux;
			}
		}
		a[inicio]=a[j];
		a[j]=pivote;
		if(inicio<j-1)
			otra_forma_de_ordenar(a,inicio,j-1);
		if(j+1 <fin)
			otra_forma_de_ordenar(a,j+1,fin);
 
 
 
		for (int l = 0; l < a.length; l++) {
			System.out.print(a[l]+" ");
 
		}
		System.out.println();
 
	}
	public static void insertion (int []a){
		int i,j,aux;
		for ( i = 1; i < a.length; i++) {//2N
			aux =a[i];//1                                            //T(N)= 4N2+3
			for ( j = i-1; j >= 0 && a[j] > aux ; j--) {//2N         //0(N) = N2
				a[j+1]=a[j];//1
				a[j]=aux;//1 
			}
		}
		for (int l = 0; l < a.length; l++) {
			System.out.print(a[l]+" ");
 
		}
		System.out.println();
	}
 
 
	public static void burbuja (int [] a) {
		int tamaño =a.length; //1
		int i, j, aux;
		for(i=1;i<tamaño;i++){ //2n
			for(j=0;j<tamaño-1;j++){//2n
				if(a[j]> a[j+1]){                         //T(n)= 2n+2n+1+3
					//T(n)=   4n2+4          
					aux=a[j];//1                          //O(n)=n2
					a[j]=a[j+1];//1
					a[j+1]=aux;//1
				}}
 
 
		}
 
		for (int k = 0; k < a.length; k++) {
			System.out.print(a[k ]+" ");
		}
		System.out.println();
	}
 
	public static void main(String[] args) {
		int a [] = {564, 817, 726, 968, 515, 442, 977, 864, 487, 640, 357, 814, 280, 643, 111, 354, 73, 372, 349, 370, 38, 0, 437, 715, 698, 300, 41, 684, 136, 644, 637, 423, 5, 554, 140, 999, 709, 754, 843, 959, 994, 780, 160, 120, 574, 686, 580, 665, 973, 991, 729, 16, 628, 125, 760, 470, 865, 469, 588, 283, 934, 845, 643, 610, 546, 310, 1000, 487, 727, 530, 369, 892, 650, 459, 850, 304, 452, 612, 95, 57, 80, 508, 2, 679, 38, 828, 665, 857, 484, 219, 395, 144, 821, 382, 264, 309, 30, 809, 492, 841, 371, 115, 955, 707, 570, 952, 814, 590, 322, 269, 965, 391, 620, 346, 175, 413, 97, 812, 188, 760, 965, 680, 68, 772, 135, 19, 538, 476, 59, 599, 26, 645, 993, 809, 219, 806, 166, 827, 636, 374, 988, 367, 615, 458, 479, 22, 199, 160, 867, 448, 319, 992, 953, 501, 859, 174, 413, 325, 267, 615, 535, 437, 768, 931, 545, 792, 323, 129, 221, 932, 340, 858, 912, 45, 846, 399, 570, 771, 514, 120, 257, 827, 474, 832, 61, 176, 55, 174, 482, 776, 7, 896, 345, 185, 687, 861, 166, 593, 344, 275, 926, 647, 853, 99, 975, 106, 612, 872, 767, 88, 526, 821, 346, 454, 762, 762, 701, 347, 794, 80, 892, 179, 52, 965, 390, 297, 14, 1000, 85, 557, 329, 669, 940, 626, 260, 374, 623, 985, 493, 103, 598, 732, 283, 173, 63, 766, 182, 221, 154, 32, 305, 429, 282, 259, 107, 606, 843, 17, 660, 771, 130, 290, 628, 732, 351, 91, 596, 566, 369, 866, 487, 74, 915, 218, 722, 14, 525, 138, 240, 628, 655, 297, 274, 472, 88, 354, 745, 966, 353, 47, 928, 574, 112, 821, 370, 596, 32, 164, 660, 433, 132, 3, 931, 758, 913, 750, 1, 468, 421, 229, 411, 822, 754, 443, 878, 722, 955, 797, 69, 172, 409, 682, 88, 96, 806, 131, 303, 779, 40, 989, 579, 581, 30, 550, 303, 172, 125, 262, 268, 651, 285, 214, 484, 296, 837, 589, 786, 568, 256, 638, 552, 492, 187, 628, 541, 898, 329, 205, 524, 569, 274, 959, 123, 138, 225, 135, 55, 713, 182, 446, 585, 263, 727, 583, 443, 619, 958, 673, 446, 317, 110, 926, 397, 666, 331, 637, 504, 798, 912, 37, 749, 315, 339, 815, 894, 780, 982, 669, 37, 73, 130, 577, 142, 987, 635, 681, 11, 426, 946, 396, 318, 4, 622, 365, 64, 166, 972, 163, 468, 610, 124, 905, 925, 492, 788, 842, 105, 838, 414, 634, 860, 765, 141, 784, 852, 712, 498, 41, 262, 360, 858, 45, 807, 795, 482, 170, 629, 568, 776, 176, 332, 93, 819, 511, 618, 416, 141, 167, 201, 121, 366, 381, 321, 123, 560, 36, 389, 687, 544, 451, 882, 900, 830, 487, 287, 674, 113, 385, 461, 968, 137, 216, 291, 133, 657, 728, 577, 687, 807, 729, 711, 1, 41, 612, 852, 631, 85, 206, 923, 300, 828, 661, 57, 511, 523, 663, 893, 350, 233, 219, 204, 529, 262, 208, 501, 160, 841, 415, 167, 369, 163, 54, 814, 431, 932, 625, 848, 562, 250, 286, 584, 75, 387, 227, 467, 70, 746, 852, 92, 688, 898, 13, 752, 554, 386, 160, 477, 340, 805, 853, 819, 388, 14, 679, 523, 752, 812, 222, 358, 316, 776, 171, 192, 683, 28, 742, 438, 704, 182, 6, 505, 493, 415, 618, 149, 195, 650, 365, 886, 996, 248, 711, 786, 326, 423, 138, 495, 378, 929, 216, 263, 562, 455, 118, 698, 108, 179, 436, 46, 804, 846, 592, 885, 371, 46, 767, 423, 174, 735, 965, 165, 258, 548, 858, 123, 966, 773, 803, 854, 263, 745, 523, 412, 200, 630, 374, 500, 654, 1000, 186, 545, 466, 815, 356, 864, 332, 55, 415, 785, 428, 75, 935, 449, 262, 92, 631, 234, 740, 594, 562, 389, 86, 414, 309, 187, 147, 389, 741, 25, 27, 693, 255, 810, 262, 588, 772, 36, 452, 758, 918, 71, 930, 284, 342, 926, 40, 551, 251, 577, 815, 926, 74, 182, 143, 788, 128, 347, 241, 166, 437, 952, 62, 793, 681, 422, 892, 727, 309, 113, 983, 226, 8, 873, 287, 472, 205, 60, 246, 303, 330, 712, 139, 574, 663, 278, 883, 710, 712, 113, 831, 272, 379, 755, 486, 393, 315, 220, 478, 212, 7, 548, 827, 173, 13, 824, 48, 559, 142, 83, 441, 82, 650, 898, 663, 636, 705, 482, 994, 687, 292, 395, 458, 427, 665, 694, 946, 989, 137, 278, 672, 681, 40, 412, 72, 67, 943, 105, 472, 597, 240, 884, 65, 430, 596, 871, 441, 133, 256, 50, 678, 622, 268, 271, 5, 724, 703, 258, 181, 97, 891, 486, 228, 546, 169, 882, 977, 610, 965, 273, 930, 666, 650, 247, 942, 577, 162, 768, 763, 275, 652, 816, 316, 59, 30, 432, 813, 804, 966, 127, 665, 489, 785, 639, 324, 380, 292, 208, 306, 293, 605, 926, 14, 844, 537, 493, 946, 511, 517, 32, 946, 635, 958, 429, 709, 893, 189, 521, 974, 825, 193, 372, 3, 442, 895, 219, 830, 248, 955, 68, 823, 369, 948, 596, 497, 414, 305, 247, 449, 263, 409, 385, 965, 787, 226, 889, 472, 427, 355, 869, 16, 763, 305, 461, 886, 430, 771, 902, 903, 925, 94, 937, 56, 926, 175, 648, 83, 732, 178, 37, 901, 664, 173, 365, 712, 775, 550, 964, 548, 283, 32, 915, 11, 181, 252, 530, 580, 316, 461, 608, 857, 610, 603, 536, 671, 124, 110, 713, 230, 457, 750, 361, 202, 266, 368, 876, 447, 120, 515, 110, 193, 820, 863, 871, 640, 690, 856, 979, 799, 125, 719, 188, 448, 979, 362, 69, 600, 567, 859, 816, 692, 737, 954, 888, 372, 177, 771, 392, 113, 901, 463, 539, 834, 465, 193, 746, 488, 454, 898, 955, 195, 866, 409, 303, 25, 878, 316, 533, 292, 807, 698, 567, 915, 568, 246, 100, 2, 763, 936, 386, 946};
		for (int i = 0; i < a.length; i++) {
			System.out.print(a[i]+" ");
		}
		System.out.println();
		System.out.println("array ordenado metodo burbuja");
		burbuja(a);
 
		System.out.println("array ordenado metodo insertion");
 
		insertion(a);
		System.out.println("array ordenado otro metodo");
 
		otra_forma_de_ordenar(a,2,5);
	}
 
 
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 111
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

busqueda binaria

Publicado por gonzalo (112 intervenciones) el 31/08/2016 18:37:05
ese no es precisamente el procedimiento de busqueda binaria, mas bien parecen ser 3 metodos de ordenacion que servirian para cumplir con la primer regla de la busqueda binaria ya que el array debe estar ordenado para que la busqueda binaria funcione.

los 3 son buenos en cuanto a ordenacion, solo te falta la rutina de la busqueda.

salu2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar