lion137
2019-01-25 22:39

Nowa Seria

Wymyśliłem nową serię artykułów: Fundamental Algorithms, zobaczymy, jak mi pójdzie:-D. Na poczatek
tzw. order statistics, czyli wyszukiwanie ntego najmniejszego elementu w tablicy, w użyciu standartowe, dziel i rządź:
https://lion137.blogspot.com/[...]1/fundamental-algorithms.html
#theory #algorithms #C++

lion137

Jak zwykle, chociaż nie zawsze to piszę, Big Thanks dla uważnych Czytelników!

lion137
2019-01-06 16:36

Teoria Kategorii

Tak jak naisałem, w 2019 rzucam okiem na Teorię Kategorii, pierwszy efekt, skromny artykulik o monadzie optional i strzałkach Kleisliego:):
https://lion137.blogspot.com/[...]isli-category-by-example.html
#theory #blog

yarel

Muszę przyznać, że zacząłem czytać tę książkę i wciągnęła mnie już po wstępie :-)

lion137

No, to nie jest typowy podręcznik akademicki:) Video też są spoko.

lion137
2019-01-03 14:34
tdudzik

@lion137: jeszcze jedno pytanie, jest sens czytać tą książkę (o algorytmach) bez znajomości matematyki dyskretnej? Tzn. czy jest ona napisana w taki sposób, że można nauczyć się algorytmów od tej praktycznej strony, bez dogłebnej analizy złożoności itp i umieć je wykorzystywać w praktyce? Oczywiście analize też chce ogarnąć, ale tak jakoś za pół roku jak już będę po matematyce dyskretnej :)

lion137

Wystarczy na bieżąco uzupełniać, plus znac podstawy.

lion137
2018-12-28 00:32

Recurrence Solver

się rozwinął. Mała biblioteczka w Pythonie do rozwiązywania problemów na Project Euler. Może być, jakiekolwiek "competitive coding", wrzuciłem to tym razem też na blog (trzeba go odświeżyć:)):
https://lion137.blogspot.com/[...]/competitive-math-helper.html
Pomysły co użytecznego dodać, mile widziane.
#theory #computation #python

Aryman1983

zsh czy fish? i co to za theme w tym terminalu? ;-)

lion137

zsh z oh_my_zsh zainstalowanym, + terminator: https://gnometerminator.blogspot.com/ :)

lion137
2018-12-19 02:19

Linear Recurrence Solver

Koniec problemów z rozwiązywaniem rekurencji:) oto mini projekcik, rozwiązywanie dowolnej liniowej rekurencji (dokładnie jednorodnej), jak, np. Fibonacci.
https://github.com/lion137/Linear_Recurrence_Solver
Napisane w C++, funkcje w pełni generyczne, przykłady w testach.
#theory #computation #C++

Dregorio

@lion137: Jakie książki? Plus mówienie, że zmiana Python na C++ to Na zdrowie to już choroba :P

lion137

Stepanov - "From Mathematics To Generic Programming", Stroustrup - "A Tour of C++ ", Stroustrup - "The C++ Programming Language 4th Ed" (to jest cegła,jej polowa, już 3/4:)). Następne na celowniku: http://elementsofprogramming.com/. Zdrowia w Nowym Roku Życzę!:)

lion137
2018-12-13 17:50

Sito Erastotenesa

Było coś obiecane z nowej książk i jest. Najpierw kod:

#include <iostream>
#include <vector>
#include <iterator>
#include <cctype>

#define RandomAccessIterator typename
#define Integer typename

template <RandomAccessIterator I, Integer N>
void mark_array(I first, I last, N factor) {
    first = false;
    while (last - first > factor) {
        first = first + factor;
        *first = false;
    }
}

template <RandomAccessIterator I, Integer N>
void erastosthenes_sieve(I first, N n) {
    I last = first + n;
    std::fill(first, last, true);
    N i(0);
    N index_square(3);
    N factor(3);
    while (index_square < n) {
        if (first[i]) {
            mark_sieve(first + index_square, last, factor);
        }
        ++i;
        index_square += factor;
        factor += N(2);
        index_square += factor;
    }
}

Szkoda, że nie można sobie już definiować konceptów / pojęć? Tylko takie haki preprocesorem, ale każdy się chyba domyśli, jaki typ dać w miejsce Integer:). Jak widać nie ma nigdzie tablicy z wartościami liczb pierwszych, nie potrzeba, można je sobie wyciągnąć z mutowanej(void) w sicie tablicy, generalnie czegokolwiek, na co będzie wskazywał Iterator(true jest na 2i + 3 miejscu).

std::vector<int> primes;
primes.push_back(2); // dodanie dwójki
    for (int i = 0; i < vec1.size(); i++){ // vec1 - wektor "wysłany" do sita 
        if (it1[i]){ // wskazuje na vec1
            primes.push_back(2 * i + 3);
        }
    }

W miarę szybkie (milion liczb pierwszych w 0.1 sek.), do matematyki rekreacyjnej i na uczelnię wystarczy:)
#theory #computation #primes

lion137

Myślałem o tym, ale chciałem zanęcić trochę concepts, które mają się pojawić niedługo:)

lion137
2018-12-13 01:04

Powinienem iść spać, ale lektura nie pozwala, polecam:
https://www.amazon.com/Mathem[...]xander-Stepanov/dp/0321942043
Na pewno jakiś algorytmik się pojawi:)
#theory #computation

no_solution_found

co w tym jest takiego ciekawego? :)

lion137

To co kochamy, abstrakcyjna algebra, matematyka, algorytmy...:)