Programowanie i książki matematyczne

Korzystając z okazji dzisiejszej promocji na książki matematyczne w Helionie, chciałbym zaproponować cztery pozycje dla każdego:

Od matematyki do programowania ogólnego

Jak napisał w swojej recenzji Marek Sawerwain z magazynu Programista: „Książka, autorstwa Alexandera A. Stepanova oraz Daniela E. Rosego, może stać się ważnym elementem kanonu lektur obowiązkowych dla programistów, do których zaliczamy takie pozycje jak „Wprowadzenie do algorytmów” autorstwa Rivesta Clifforda, Thomasa H. Cormena, Charlesa E. Leisersona, „Język ANSI C” Bria-na W. Kernighana oraz Dennisa M. Ritchiego, a także „Sztuka Programowania” Donalda E. Knu-tha, czy „Recz o istocie informatyki” Davida Harela.
Nie jest to typowa książka pośród licznych opracowań z obszaru programowania, ale przez nietypowe połączenie matematyki i praktyki programistycznej należy upatrywać główną zaletę tej pozycji. Każdy kto zajmuje się programowaniem w dowolnym języku (nie tylko w C++) powinien poświęcić trochę czasu na lekturę tej książki, a z pewnością zdobędzie kilka nowych cennych umiejętności.

Czytaj dalej

Permutacje, cz. 2 – algorytmy

W poprzednim wpisie programistyczne rozwiązanie zagadki polegało na wygenerowaniu wszystkich permutacji zbioru i sprawdzeniu każdej z nich pod względem spełnienia warunku poprawności. Takie podejście może okazać się najrozsądniejsze w przypadku pracy nad problemami NP-trudnymi (poprzez wygenerowanie wszystkich możliwych rozwiązań i wybranie spośród nich najlepszej).

W dalszej części umieszczam przykłady implementacji w Javie różnych algorytmów generowania permutacji.

Czytaj dalej