dydaktyka

Paradygmaty programowania w O'Caml

Grzegorz Bancerek
Politechnika Białostocka, wykład obieralny, IV/V rok, VII/IX semestr, informatyka, 2006


O'Caml = Objective Caml
Caml = Classic ML
ML = Meta-Language
  1. English description of the lecture
  2. Strona główna Caml, Objective Caml, Caml Light
  3. Objective CAML Tutorial
  4. Wikipedia: strona angielska, strona polska
  5. A Hundred Lines of Caml (taste.ml)
  6. Książka: The Objective Caml system, release 3.09 (lokalna kopia pdf)
  7. Książka: Introduction to the Objective Caml Programming Language (lokalna kopia pdf)
  8. Książka: Developing Applications With Objective Caml (lokalna kopia pdf)
  9. Tuareg Mode - wspomaganie do edytora emacs (Downloading & Installing GNU Emacs for Windows, ftp://ftp.gnu.org/gnu/windowsęmacs/)
  10. Przykład: mergesort.ml
  11. Przykład: heapsort.ml
  12. Przykład: queue.ml
  13. Przykład: dijkstra.ml i przykładowy graf
  14. Przykład: fft.ml
  15. Przykład: k-b.ml --- algorytm Knutha-Bendixa
  16. Lista projektów:
    1. Quick sort - porównanie szybkości implementacji funkcyjnej, imperatywnej i obiektowej
    2. Merge sort - porównanie szybkości implementacji funkcyjnej, imperatywnej i obiektowej
    3. Heap sort - paradygmat funkcyjny
    4. Shell sort - szybka implementacja funkcyjna
    5. Drzewa AVL bez DELETE
    6. Drzewa 2-3 bez DELETE
    7. UNION-FIND ze reprezentacją zbiorów jako drzew
    8. Algorytm Kruskala bez UNION-FIND
    9. Algorytm Prima
    10. Najkrótsze drogi w grafie z wagami przy użyciu mnożenia macierzy
    11. Numerowanie wierzchołków w grafie acyklicznym
    12. Najkrótsze drogi w grafie acyklicznym z ponumerowanymi wierzchołkami
    13. Optymalna kolejność mnożeń przy mnożeniu ciągu macierzy

Grzegorz Bancerek