Saya seorang pengisap untuk keanggunan dan ketelitian matematika, dan sekarang saya sedang mencari literatur seperti pada algoritma dan analisis algoritma. Sekarang, tidak masalah bagi saya algoritma apa yang dibahas, tetapi sangat banyak bagaimana mereka disajikan dan diperlakukan. ”Saya paling menghargai bahasa yang sangat jelas dan tepat yang mendefinisikan semua gagasan yang digunakan dalam cara yang ketat dan abstrak.
Saya menemukan bahwa Pengantar klasik untuk Algoritma , oleh Cormen, Leiserson, Rivest dan Stein cukup rapi, tetapi tidak menangani matematika dengan baik dan cukup informal dengan bukti dan definisi. Pengantar Sipser untuk Teori Komputasi tampaknya lebih baik dalam hal itu, tetapi masih tidak menawarkan transisi mulus dari matematika ke algoritma.
Adakah yang bisa merekomendasikan sesuatu?
¹: Algoritme setidaknya harus melibatkan pengelolaan data yang mereka butuhkan menggunakan struktur data abstrak non-sepele seperti grafik, array, set, daftar, pohon dan sebagainya - lebih disukai juga beroperasi pada struktur data tersebut. Saya tidak akan terlalu tertarik jika masalah penggunaan dan pengelolaan struktur data diabaikan sama sekali. Saya tidak terlalu peduli dengan masalah yang dipecahkan bersama mereka.
Jawaban:
Hendrik Lenstra menulis pada tahun 1992 :
Saya tidak tahu apakah ada kemajuan yang telah dibuat sejak itu, atau apakah ini bahkan dianggap sebagai "celah" oleh konsensus. Tetapi intinya tetap bahwa setidaknya beberapa matematikawan terkemuka telah tidak puas dengan kerasnya matematika dari derivasi algoritma. Jadi, mungkin tidak ada buku dengan tingkat formalisme yang diinginkan OP.
Tumpukan perspektif praktis yang kita miliki karena Knuth, Gries , Stepanov, dan lainnya dimaksudkan untuk membantu programmer lebih dari matematika dan dengan demikian tidak dapat dihindarkan karena kekakuan dan panjang pada subjektivitas.
Meskipun demikian, karya Stepanov secara luas diakui di Silicon Valley sebagai salah satu upaya terbaik untuk sintesis ilmiah.
Dalam Elements of Programming , Alexander Stepanov dan Paul McJones berusaha untuk meletakkan dasar aljabar abstrak dari algoritma. Buku ini dimulai dengan definisi aksioma yang agak informal yang diakui secara informal tentang entitas, nilai dan atributnya, tetapi dalam 288 halaman berkembang secara deduktif melalui serangkaian lemma ke dasar-dasar Perpustakaan Templat Standar.
TOC, kata pengantar dan bab contoh tentang Transformasi dan Orbits mereka dapat ditemukan di sini , dan kuliah pengantar di sini .
Buku Stepanov yang lebih baru dan santai, Dari Matematika ke Pemrograman Generik , lebih terstruktur dengan peta jalan sejarah matematika, membangun dari perkalian Mesir ke monoids, semi-grup, dan teorema Lagrange, akhirnya mengembangkan struktur data modern dengan iterator dan algoritma yang digunakan dalam STL.
sumber
Saya pikir buku yang Anda gambarkan memiliki nama. Itu ada dalam tujuh volume, hanya tiga dan setengahnya telah diterbitkan. Itu disebut The Art of Computer Programming , (TAOCP) dan ditulis oleh Donald Knuth.
Mungkin dia kadang-kadang akan menjelaskan aplikasi. Tetapi Anda selalu dapat melewati itu, dan saya ragu itu membuat banyak konten. Anda seharusnya tidak terlalu kecewa dengan matematika.
sumber