Skip to content

Instantly share code, notes, and snippets.

View Dimanaux's full-sized avatar

Dmitry Barskov Dimanaux

View GitHub Profile
@Dimanaux
Dimanaux / Sort.java
Created March 16, 2018 15:37
смейтесь, смейтесь!
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);
@Dimanaux
Dimanaux / Array.java
Created March 20, 2018 18:15
QuickSort for int[] array!
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);
@Dimanaux
Dimanaux / InputGenerator.java
Last active August 30, 2018 16:34
How I generate arrays for semester work
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();
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();
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;
public class ArrayAlgorithm {
private static long iterations;
public static long sort(int[] array) {
iterations = 0;
quickSort(array, 0, array.length - 1);
return iterations;
}
@Dimanaux
Dimanaux / BinomailHeap.java
Last active January 25, 2022 18:38
Binomial heap java implementation
package datastructures;
import java.util.Comparator;
public class BinomailHeap<K extends Comparable> {
private Node<K> head;
private int size;
private Comparator<K> comparator;
"""
предполагаем что в последовательности нечётное число элементов для простоты
предполагаем что число элементов делится на 5 для простоты
"""
def pick_pivot(l):
"""
Выбираем хорошй pivot в списке чисел l
Этот алгоритм выполняется за время O(n).
import java.util.LinkedList;
import java.util.List;
public class AbstractFactorySample {
public static void main(String[] args) {
String uname = System.getProperty("os.name").toLowerCase();
Application application;
if (uname.contains("windows")) {
@Dimanaux
Dimanaux / word_count.py
Last active August 30, 2018 16:31
Write a function that takes a text and returns amount of words in the text. Write it in two styles: imperative and declarative
# encoding: utf-8
# посчитать количество слов в предложении
# входные данные: str
# выходные данные: int
SPECIAL_CHARS = ['-']
def is_alphabetic(char: str) -> bool:
return char.isalpha() or char in SPECIAL_CHARS