View medians.py
"""
предпологаем что в последовательности нечётное число элементов для простоты
предпологаем что число элементов делится на 5 для простоты
"""
def pick_pivot(l):
"""
Выбираем хорошй pivot в списке чисел l
Этот алгоритм выполняется за время O(n).
View BinomailHeap.java
package datastructures;
import java.util.Comparator;
public class BinomailHeap<K extends Comparable> {
private Node<K> head;
private int size;
private Comparator<K> comparator;
View ArrayAlgorithm.java
public class ArrayAlgorithm {
private static long iterations;
public static long sort(int[] array) {
iterations = 0;
quickSort(array, 0, array.length - 1);
return iterations;
}
View ArrayListAlgorithm.java
import java.util.ArrayList;
public class ArrayListAlgorithm {
private static long iterations;
public static long sort(ArrayList<Integer> array) {
iterations = 0;
quickSort(array, 0, array.size() - 1);
return iterations;
View InputGenerator.java
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Arrays;
import java.util.Random;
public class InputGenerator {
public static void main(String[] args) throws IOException {
Random random = new Random();
View InputGenerator.java
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Random;
public class InputGenerator {
public static void main(String[] args) throws IOException {
Random random = new Random();
View Array.java
public class Array {
public static void sort(int[] array) {
quickSort(array, 0, array.length - 1);
}
private static void quickSort(int[] array, int begin, int end) {
if (begin < end) {
int p = partition(array, begin, end);
quickSort(array, begin, p - 1);
quickSort(array, p + 1, end);
View Sort.java
public class Sort {
public static void sort(Integer[] array) {
quickSort(array, 0, array.length);
}
private static void quickSort(Integer[] array, int begin, int end) {
if (begin < end) {
int p = partition(array, begin, end);
quickSort(array, begin, p);
quickSort(array, p, end);
View Integral.c
#include <stdio.h>
#include <math.h>
typedef double (*function)(double);
double func(double);
double integral(function, double, double);
const int SECTIONS_QUANTITY = 1e4;
// const double EPS = 1e-6;
View BinarySearchDemoClass.java
public class BinarySearchDemoClass {
public static int binarySearch(String[] array, String value) {
int l = 0, r = array.length;
int mid = (l + r) / 2;
while (l < r) {
if (value.compareTo(array[mid]) == 0) {
return mid;
} else if (value.compareTo(array[mid]) > 0) {