Skip to content
Snippets Groups Projects
Commit b0237550 authored by Ukhanov Ilya's avatar Ukhanov Ilya
Browse files

Rajout test Tri Rapide - Versionnage

parent f2fc2ad9
Branches
No related merge requests found
No preview for this file type
library(ggplot2)
perf <- read.table("testGeneral.dat", header = TRUE)
ggplot(perf, aes(x=taille, y=temps, group=typeTableau, colour=as.character(algo))) + facet_grid(algo ~ typeTableau) +
ggplot(perf, aes(x=taille, y=temps, group=versionRap, colour=as.character(versionRap))) + facet_grid(algo ~ typeTableau) +
geom_point() + geom_smooth() +
ggtitle("Test General des Algos")
ggsave("testGeneral.png")
ggsave("testGeneral2.png")
iTest taille temps mem algo typeTableau
1 30000 0.04 1396 r a
1 40000 0.06 1400 r a
1 50000 0.08 1388 r a
1 30000 1.38 3200 r c
1 40000 2.45 3756 r c
1 50000 3.87 4568 r c
1 30000 1.38 3192 r r
1 40000 2.43 3748 r r
1 50000 3.81 4568 r r
1 30000 1.35 3312 r i
1 40000 2.40 3812 r i
1 50000 3.74 4472 r i
2 30000 0.03 1352 r a
2 40000 0.05 1380 r a
2 50000 0.08 1348 r a
2 30000 1.37 3168 r c
2 40000 2.42 3732 r c
2 50000 3.79 4564 r c
2 30000 1.39 3248 r r
2 40000 2.42 3884 r r
2 50000 3.79 4560 r r
2 30000 1.35 3236 r i
2 40000 2.41 3732 r i
2 50000 3.74 4564 r i
3 30000 0.04 1384 r a
3 40000 0.05 1352 r a
3 50000 0.08 1400 r a
3 30000 1.43 3228 r c
3 40000 2.43 3696 r c
3 50000 3.79 4568 r c
3 30000 1.42 3168 r r
3 40000 2.42 3748 r r
3 50000 3.87 4504 r r
3 30000 1.41 3192 r i
3 40000 2.47 3820 r i
3 50000 3.79 4484 r i
4 30000 0.04 1344 r a
4 40000 0.06 1396 r a
4 50000 0.09 1404 r a
4 30000 1.37 3184 r c
4 40000 2.49 3884 r c
4 50000 3.85 4632 r c
4 30000 1.36 3136 r r
4 40000 2.41 3764 r r
4 50000 3.77 4572 r r
4 30000 1.34 3204 r i
4 40000 2.39 3816 r i
4 50000 3.81 4776 r i
5 30000 0.04 1400 r a
5 40000 0.06 1352 r a
5 50000 0.10 1356 r a
5 30000 1.36 3192 r c
5 40000 2.41 3764 r c
5 50000 3.77 4480 r c
5 30000 1.38 3236 r r
5 40000 2.42 3764 r r
5 50000 3.78 4568 r r
5 30000 1.34 3156 r i
5 40000 2.40 3812 r i
5 50000 3.75 4456 r i
iTest taille temps mem algo typeTableau versionRap
1 30000 0.08 1464 r a 11
1 30000 0.03 1388 r a 21
1 30000 0.07 1464 r a 22
1 30000 0.11 1348 r a 12
1 40000 0.14 1336 r a 11
1 40000 0.05 1356 r a 21
1 40000 0.11 1352 r a 22
1 40000 0.18 1464 r a 12
1 50000 0.20 1288 r a 11
1 50000 0.09 1388 r a 21
1 50000 0.14 1400 r a 22
1 50000 0.26 1352 r a 12
1 60000 0.31 1612 r a 11
1 60000 0.12 1604 r a 21
1 60000 0.19 1596 r a 22
1 60000 0.36 1548 r a 12
1 70000 0.39 1652 r a 11
1 70000 0.16 1728 r a 21
1 70000 0.24 1664 r a 22
1 70000 0.48 1620 r a 12
1 80000 0.50 1568 r a 11
1 80000 0.22 1660 r a 21
1 80000 0.30 1580 r a 22
1 80000 0.62 1664 r a 12
1 30000 3.49 3184 r r 11
1 30000 1.37 3228 r r 21
1 30000 0.03 1316 r r 22
1 30000 0.03 1288 r r 12
1 40000 6.38 4008 r r 11
1 40000 2.43 3816 r r 21
1 40000 0.03 1400 r r 22
1 40000 0.04 1288 r r 12
1 50000 10.17 4636 r r 11
1 50000 3.88 4516 r r 21
1 50000 0.05 1400 r r 22
1 50000 0.05 1352 r r 12
1 60000 14.35 5344 r r 11
1 60000 5.65 5348 r r 21
1 60000 0.04 1336 r r 22
1 60000 0.05 1612 r r 12
1 70000 19.51 6056 r r 11
1 70000 7.70 6028 r r 21
1 70000 0.07 1608 r r 22
1 70000 0.06 1620 r r 12
1 80000 25.29 6804 r r 11
1 80000 10.69 6812 r r 21
1 80000 0.09 1656 r r 22
1 80000 0.09 1616 r r 12
1 30000 2.85 3312 r i 11
1 30000 1.61 3164 r i 21
1 30000 0.03 1464 r i 22
1 30000 0.03 1304 r i 12
1 40000 4.73 4012 r i 11
1 40000 2.41 3884 r i 21
1 40000 0.03 1464 r i 22
1 40000 0.03 1344 r i 12
1 50000 6.86 4512 r i 11
1 50000 3.80 4456 r i 21
1 50000 0.05 1396 r i 22
1 50000 0.04 1400 r i 12
1 60000 9.96 5272 r i 11
1 60000 5.53 5272 r i 21
1 60000 0.05 1612 r i 22
1 60000 0.05 1288 r i 12
1 70000 13.34 5952 r i 11
1 70000 7.51 5884 r i 21
1 70000 0.07 1612 r i 22
1 70000 0.07 1608 r i 12
1 80000 17.52 6628 r i 11
1 80000 9.69 6624 r i 21
1 80000 0.08 1584 r i 22
1 80000 0.08 1664 r i 12
1 30000 3.54 3168 r c 11
1 30000 1.38 3136 r c 21
1 30000 1.41 3160 r c 22
1 30000 3.59 3308 r c 12
1 40000 6.55 3764 r c 11
1 40000 2.45 3788 r c 21
1 40000 2.55 3760 r c 22
1 40000 6.81 3768 r c 12
1 50000 10.53 4684 r c 11
1 50000 3.97 4472 r c 21
1 50000 3.87 4640 r c 22
1 50000 9.90 4552 r c 12
1 60000 14.16 5356 r c 11
1 60000 5.54 5288 r c 21
1 60000 5.59 5348 r c 22
1 60000 14.28 5356 r c 12
1 70000 19.27 6180 r c 11
1 70000 7.54 5840 r c 21
1 70000 7.49 5788 r c 22
1 70000 19.58 6100 r c 12
1 80000 25.20 6596 r c 11
1 80000 10.23 6748 r c 21
1 80000 10.16 6612 r c 22
1 80000 25.07 6884 r c 12
2 30000 0.08 1324 r a 11
2 30000 0.03 1388 r a 21
2 30000 0.07 1292 r a 22
2 30000 0.11 1388 r a 12
2 40000 0.13 1388 r a 11
2 40000 0.06 1396 r a 21
2 40000 0.11 1336 r a 22
2 40000 0.18 1388 r a 12
2 50000 0.21 1336 r a 11
2 50000 0.08 1356 r a 21
2 50000 0.14 1344 r a 22
2 50000 0.26 1388 r a 12
2 60000 0.30 1608 r a 11
2 60000 0.12 1620 r a 21
2 60000 0.20 1564 r a 22
2 60000 0.36 1616 r a 12
2 70000 0.39 1644 r a 11
2 70000 0.16 1600 r a 21
2 70000 0.24 1664 r a 22
2 70000 0.48 1660 r a 12
2 80000 0.51 1608 r a 11
2 80000 0.21 1644 r a 21
2 80000 0.30 1608 r a 22
2 80000 0.61 1616 r a 12
2 30000 3.53 3192 r r 11
2 30000 1.39 3184 r r 21
2 30000 0.04 1392 r r 22
2 30000 0.03 1352 r r 12
2 40000 6.26 3884 r r 11
2 40000 2.47 3780 r r 21
2 40000 0.03 1380 r r 22
2 40000 0.04 1396 r r 12
2 50000 9.87 4568 r r 11
2 50000 3.91 4520 r r 21
2 50000 0.05 1392 r r 22
2 50000 0.05 1316 r r 12
2 60000 14.16 5344 r r 11
2 60000 5.55 5356 r r 21
2 60000 0.06 1304 r r 22
2 60000 0.06 1340 r r 12
2 70000 19.26 5876 r r 11
2 70000 7.48 6056 r r 21
2 70000 0.08 1600 r r 22
2 70000 0.08 1580 r r 12
2 80000 25.05 6672 r r 11
2 80000 9.81 6616 r r 21
2 80000 0.09 1552 r r 22
2 80000 0.08 1576 r r 12
2 30000 2.45 3200 r i 11
2 30000 1.38 3136 r i 21
2 30000 0.03 1312 r i 22
2 30000 0.03 1348 r i 12
2 40000 4.34 3764 r i 11
2 40000 2.48 3792 r i 21
2 40000 0.04 1400 r i 22
2 40000 0.03 1388 r i 12
2 50000 6.73 4556 r i 11
2 50000 3.77 4556 r i 21
2 50000 0.05 1336 r i 22
2 50000 0.05 1316 r i 12
2 60000 9.65 5288 r i 11
2 60000 5.48 5360 r i 21
2 60000 0.06 1336 r i 22
2 60000 0.06 1644 r i 12
2 70000 13.19 6064 r i 11
2 70000 7.42 5952 r i 21
2 70000 0.07 1664 r i 22
2 70000 0.07 1668 r i 12
2 80000 17.17 6748 r i 11
2 80000 9.69 6672 r i 21
2 80000 0.08 1648 r i 22
2 80000 0.08 1652 r i 12
2 30000 3.53 3312 r c 11
2 30000 1.39 3228 r c 21
2 30000 1.39 3180 r c 22
2 30000 3.60 3232 r c 12
2 40000 6.27 3748 r c 11
2 40000 2.45 3884 r c 21
2 40000 2.47 3884 r c 22
2 40000 6.33 3812 r c 12
2 50000 9.88 4520 r c 11
2 50000 3.85 4564 r c 21
2 50000 3.83 4552 r c 22
2 50000 9.86 4640 r c 12
2 60000 15.01 5340 r c 11
2 60000 6.12 5408 r c 21
2 60000 5.48 5176 r c 22
2 60000 14.33 5328 r c 12
2 70000 19.15 6108 r c 11
2 70000 7.47 5824 r c 21
2 70000 7.49 5988 r c 22
2 70000 19.78 6092 r c 12
2 80000 25.19 6820 r c 11
2 80000 9.83 6796 r c 21
2 80000 9.90 6808 r c 22
2 80000 25.50 6720 r c 12
3 30000 0.07 1396 r a 11
3 30000 0.03 1388 r a 21
3 30000 0.06 1344 r a 22
3 30000 0.11 1396 r a 12
3 40000 0.13 1316 r a 11
3 40000 0.06 1388 r a 21
3 40000 0.10 1400 r a 22
3 40000 0.18 1396 r a 12
3 50000 0.20 1396 r a 11
3 50000 0.09 1464 r a 21
3 50000 0.15 1356 r a 22
3 50000 0.27 1396 r a 12
3 60000 0.29 1612 r a 11
3 60000 0.12 1600 r a 21
3 60000 0.19 1596 r a 22
3 60000 0.36 1652 r a 12
3 70000 0.40 1664 r a 11
3 70000 0.16 1652 r a 21
3 70000 0.24 1660 r a 22
3 70000 0.48 1644 r a 12
3 80000 0.51 1600 r a 11
3 80000 0.20 1608 r a 21
3 80000 0.30 1616 r a 22
3 80000 0.62 1656 r a 12
3 30000 3.59 3368 r r 11
3 30000 1.41 3236 r r 21
3 30000 0.03 1336 r r 22
3 30000 0.03 1388 r r 12
3 40000 6.33 4072 r r 11
3 40000 2.46 3760 r r 21
3 40000 0.04 1288 r r 22
3 40000 0.04 1352 r r 12
3 50000 9.97 4684 r r 11
3 50000 3.82 4556 r r 21
3 50000 0.05 1352 r r 22
3 50000 0.05 1348 r r 12
3 60000 14.10 5344 r r 11
3 60000 5.49 5320 r r 21
3 60000 0.05 1304 r r 22
3 60000 0.05 1616 r r 12
3 70000 19.44 5824 r r 11
3 70000 7.57 5888 r r 21
3 70000 0.08 1656 r r 22
3 70000 0.08 1652 r r 12
3 80000 25.27 6808 r r 11
3 80000 9.78 6636 r r 21
3 80000 0.08 1612 r r 22
3 80000 0.08 1576 r r 12
3 30000 2.44 3216 r i 11
3 30000 1.36 3156 r i 21
3 30000 0.02 1396 r i 22
3 30000 0.02 1380 r i 12
3 40000 4.30 3728 r i 11
3 40000 2.46 3948 r i 21
3 40000 0.04 1388 r i 22
3 40000 0.04 1288 r i 12
3 50000 6.82 4776 r i 11
3 50000 3.79 4612 r i 21
3 50000 0.05 1316 r i 22
3 50000 0.04 1348 r i 12
3 60000 9.73 5248 r i 11
3 60000 5.49 5264 r i 21
3 60000 0.06 1648 r i 22
3 60000 0.06 1664 r i 12
3 70000 13.27 5776 r i 11
3 70000 7.53 6060 r i 21
3 70000 0.07 1616 r i 22
3 70000 0.07 1664 r i 12
3 80000 17.43 6768 r i 11
3 80000 9.72 6804 r i 21
3 80000 0.08 1552 r i 22
3 80000 0.07 1616 r i 12
3 30000 3.56 3168 r c 11
3 30000 1.41 3184 r c 21
3 30000 1.41 3232 r c 22
3 30000 3.74 3188 r c 12
3 40000 6.24 3696 r c 11
3 40000 2.45 3760 r c 21
3 40000 2.49 3804 r c 22
3 40000 6.43 3788 r c 12
3 50000 10.08 4652 r c 11
3 50000 4.19 4504 r c 21
3 50000 3.97 4480 r c 22
3 50000 10.01 4620 r c 12
3 60000 14.11 5308 r c 11
3 60000 5.55 5480 r c 21
3 60000 5.51 5356 r c 22
3 60000 14.26 5364 r c 12
3 70000 19.12 5832 r c 11
3 70000 7.51 5776 r c 21
3 70000 7.52 6012 r c 22
3 70000 19.24 5796 r c 12
3 80000 25.05 6812 r c 11
3 80000 9.73 6668 r c 21
3 80000 9.73 6628 r c 22
3 80000 25.11 6668 r c 12
4 30000 0.08 1324 r a 11
4 30000 0.04 1336 r a 21
4 30000 0.07 1336 r a 22
4 30000 0.11 1388 r a 12
4 40000 0.13 1340 r a 11
4 40000 0.05 1388 r a 21
4 40000 0.11 1400 r a 22
4 40000 0.17 1332 r a 12
4 50000 0.20 1336 r a 11
4 50000 0.07 1316 r a 21
4 50000 0.15 1388 r a 22
4 50000 0.26 1336 r a 12
4 60000 0.29 1664 r a 11
4 60000 0.12 1652 r a 21
4 60000 0.19 1652 r a 22
4 60000 0.36 1664 r a 12
4 70000 0.39 1728 r a 11
4 70000 0.16 1660 r a 21
4 70000 0.24 1660 r a 22
4 70000 0.48 1600 r a 12
4 80000 0.51 1608 r a 11
4 80000 0.21 1644 r a 21
4 80000 0.31 1576 r a 22
4 80000 0.61 1604 r a 12
4 30000 3.49 3188 r r 11
4 30000 1.36 3192 r r 21
4 30000 0.03 1396 r r 22
4 30000 0.03 1396 r r 12
4 40000 6.23 3884 r r 11
4 40000 2.47 3964 r r 21
4 40000 0.04 1320 r r 22
4 40000 0.04 1344 r r 12
4 50000 9.82 4520 r r 11
4 50000 3.88 4504 r r 21
4 50000 0.05 1396 r r 22
4 50000 0.05 1304 r r 12
4 60000 14.15 5308 r r 11
4 60000 5.55 5344 r r 21
4 60000 0.07 1336 r r 22
4 60000 0.07 1580 r r 12
4 70000 19.33 6060 r r 11
4 70000 7.50 6008 r r 21
4 70000 0.07 1644 r r 22
4 70000 0.07 1580 r r 12
4 80000 25.20 6764 r r 11
4 80000 9.87 6584 r r 21
4 80000 0.09 1612 r r 22
4 80000 0.09 1616 r r 12
4 30000 2.42 3244 r i 11
4 30000 1.37 3240 r i 21
4 30000 0.02 1312 r i 22
4 30000 0.03 1336 r i 12
4 40000 4.34 3756 r i 11
4 40000 2.45 3732 r i 21
4 40000 0.04 1336 r i 22
4 40000 0.04 1336 r i 12
4 50000 6.84 4552 r i 11
4 50000 3.80 4512 r i 21
4 50000 0.05 1336 r i 22
4 50000 0.05 1388 r i 12
4 60000 9.90 5348 r i 11
4 60000 5.50 5360 r i 21
4 60000 0.06 1292 r i 22
4 60000 0.06 1664 r i 12
4 70000 13.23 5824 r i 11
4 70000 7.60 6108 r i 21
4 70000 0.08 1660 r i 22
4 70000 0.08 1660 r i 12
4 80000 17.52 6732 r i 11
4 80000 9.66 6808 r i 21
4 80000 0.08 1576 r i 22
4 80000 0.08 1604 r i 12
4 30000 3.52 3244 r c 11
4 30000 1.40 3236 r c 21
4 30000 1.42 3188 r c 22
4 30000 3.64 3280 r c 12
4 40000 6.30 4000 r c 11
4 40000 2.51 3696 r c 21
4 40000 2.51 3824 r c 22
4 40000 6.35 3912 r c 12
4 50000 9.90 4588 r c 11
4 50000 3.94 4604 r c 21
4 50000 3.95 4620 r c 22
4 50000 9.87 4612 r c 12
4 60000 14.11 5324 r c 11
4 60000 5.63 5296 r c 21
4 60000 5.83 5304 r c 22
4 60000 14.20 5328 r c 12
4 70000 19.54 6100 r c 11
4 70000 7.58 5888 r c 21
4 70000 7.76 6092 r c 22
4 70000 19.40 6028 r c 12
4 80000 25.15 6628 r c 11
4 80000 10.02 6804 r c 21
4 80000 9.84 6768 r c 22
4 80000 25.60 6884 r c 12
5 30000 0.08 1388 r a 11
5 30000 0.04 1336 r a 21
5 30000 0.07 1396 r a 22
5 30000 0.12 1336 r a 12
5 40000 0.14 1400 r a 11
5 40000 0.05 1380 r a 21
5 40000 0.10 1316 r a 22
5 40000 0.20 1344 r a 12
5 50000 0.22 1316 r a 11
5 50000 0.09 1336 r a 21
5 50000 0.16 1344 r a 22
5 50000 0.30 1348 r a 12
5 60000 0.33 1644 r a 11
5 60000 0.13 1600 r a 21
5 60000 0.20 1580 r a 22
5 60000 0.39 1652 r a 12
5 70000 0.39 1552 r a 11
5 70000 0.17 1648 r a 21
5 70000 0.24 1652 r a 22
5 70000 0.48 1552 r a 12
5 80000 0.54 1656 r a 11
5 80000 0.21 1600 r a 21
5 80000 0.31 1660 r a 22
5 80000 0.61 1616 r a 12
5 30000 3.61 3164 r r 11
5 30000 1.46 3252 r r 21
5 30000 0.03 1352 r r 22
5 30000 0.03 1396 r r 12
5 40000 6.49 3804 r r 11
5 40000 2.50 3764 r r 21
5 40000 0.04 1380 r r 22
5 40000 0.04 1316 r r 12
5 50000 10.02 4564 r r 11
5 50000 4.32 4484 r r 21
5 50000 0.05 1336 r r 22
5 50000 0.05 1388 r r 12
5 60000 16.54 5408 r r 11
5 60000 5.99 5392 r r 21
5 60000 0.06 1340 r r 22
5 60000 0.05 1304 r r 12
5 70000 19.41 6108 r r 11
5 70000 7.90 6060 r r 21
5 70000 0.07 1648 r r 22
5 70000 0.06 1576 r r 12
5 80000 25.69 6812 r r 11
5 80000 10.05 6632 r r 21
5 80000 0.09 1600 r r 22
5 80000 0.08 1652 r r 12
5 30000 2.53 3164 r i 11
5 30000 1.40 3184 r i 21
5 30000 0.03 1336 r i 22
5 30000 0.03 1396 r i 12
5 40000 4.39 3764 r i 11
5 40000 2.42 3732 r i 21
5 40000 0.04 1336 r i 22
5 40000 0.04 1388 r i 12
5 50000 6.76 4460 r i 11
5 50000 3.89 4588 r i 21
5 50000 0.05 1316 r i 22
5 50000 0.05 1388 r i 12
5 60000 10.16 5404 r i 11
5 60000 5.53 5276 r i 21
5 60000 0.06 1612 r i 22
5 60000 0.07 1660 r i 12
5 70000 13.58 5992 r i 11
5 70000 7.59 6100 r i 21
5 70000 0.07 1660 r i 22
5 70000 0.07 1580 r i 12
5 80000 17.28 6596 r i 11
5 80000 10.56 6724 r i 21
5 80000 0.08 1616 r i 22
5 80000 0.08 1660 r i 12
5 30000 3.84 3244 r c 11
5 30000 1.45 3244 r c 21
5 30000 1.49 3192 r c 22
5 30000 3.66 3248 r c 12
5 40000 6.41 3820 r c 11
5 40000 2.50 3696 r c 21
5 40000 2.54 3992 r c 22
5 40000 6.58 3956 r c 12
5 50000 10.24 4556 r c 11
5 50000 3.92 4480 r c 21
5 50000 3.92 4468 r c 22
5 50000 9.95 4504 r c 12
5 60000 14.70 5324 r c 11
5 60000 6.86 5400 r c 21
5 60000 5.94 5480 r c 22
5 60000 14.92 5344 r c 12
5 70000 19.55 6100 r c 11
5 70000 7.72 6092 r c 21
5 70000 7.90 6108 r c 22
5 70000 19.69 6108 r c 12
5 80000 25.56 6732 r c 11
5 80000 9.93 6796 r c 21
5 80000 9.86 6768 r c 22
5 80000 25.45 6664 r c 12
TP2/testGeneral.png

105 KiB | W: | H:

TP2/testGeneral.png

112 KiB | W: | H:

TP2/testGeneral.png
TP2/testGeneral.png
TP2/testGeneral.png
TP2/testGeneral.png
  • 2-up
  • Swipe
  • Onion skin
#!/bin/bash
affichage=0
versionRap=0
#versionRap=2
#taille=100
echo -e "iTest\ttaille\ttemps\tmem\talgo\ttypeTableau"
echo -e "iTest\ttaille\ttemps\tmem\talgo\ttypeTableau\tversionRap"
for iTest in `seq 1 5`
do
#taille=$(( `od -An -N4 -tu < /dev/urandom` % 1000000))
#taille=1000000
for algo in 'r' 'i' 'f'
for algo in 'r'
do
for typeTableau in 'a' 'c' 'r' 'i'
for typeTableau in 'a' 'r' 'i' 'c'
do
for taille in 30000 40000 50000 60000 70000 80000 90000
for taille in 30000 40000 50000 60000 70000 80000
do
res=`( /usr/bin/time -f "%U\t%M" ./main $algo $taille $typeTableau $affichage $versionRap > /dev/null ) 2>&1`
echo -e "$iTest\t$taille\t$res\t$algo\t$typeTableau"
for versionRap in 11 21 22 12
do
res=`( /usr/bin/time -f "%U\t%M" ./main $algo $taille $typeTableau $affichage $versionRap > /dev/null ) 2>&1`
echo -e "$iTest\t$taille\t$res\t$algo\t$typeTableau\t$versionRap"
done
done
done
done
......
TP2/testGeneral2.png

173 KiB

......@@ -8,25 +8,33 @@ void triRapide(long* A, size_t n, int version) {
sousTriRapide(A,0,n, version);
}
void sousTriRapide(long* A, size_t first, size_t size, int version){
if(first+1 < size){
size_t middle = partition(A,first,size, version);
void sousTriRapide(long* A, size_t first, size_t last, int version){
if(first+1 < last){
size_t middle = partition(A,first,last, version);
sousTriRapide(A,first,middle, version);
sousTriRapide(A,middle+1,size, version);
sousTriRapide(A,middle+1,last, version);
}
}
size_t partition(long* A, size_t first, size_t size, int version) {
//long middle = (size-1) / 2;
//long pivot = A[middle];
size_t partition(long* A, size_t first, size_t last, int version) {
// Versionnage du pivot (deuxieme chiffre)
// Version 1: pivot random
if(version == 12 || version == 22) {
srand(time(0));
// Generer le nombre aleatoire entre last et first
int randI = rand() % (last - first) + first;
permuter(A, randI, last-1);
}
long pivot = A[size-1];
// Version 0: pivot = dernier element
long pivot = A[last-1];
size_t i = first;
for(int j = first; j+2 <= size; j++){
for(int j = first; j+2 <= last; j++){
if(A[j] <= pivot) {
// Versionnage de la permutation (premier chiffre)
// Version 1: optimisation sur les tableaux ranges
if(version == 1) {
if(version == 22 || version == 21) {
// Si i = j, pas besoin de permuter
if(i != j ) {
permuter(A,i,j);
......@@ -40,7 +48,7 @@ size_t partition(long* A, size_t first, size_t size, int version) {
i++;
}
}
permuter(A,i,size-1);
permuter(A,i,last-1);
return i;
}
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment