ฉันได้รับมอบหมายให้สร้างห้องสมุดหนังสือเกี่ยวกับอัลกอริทึมสำหรับ บริษัท ขนาดเล็กของเรา (ประมาณ 15 คน) งบประมาณมากกว่า 5k แต่น้อยกว่า 10k แน่นอนดังนั้นฉันสามารถซื้อหนังสือได้พอใช้ ทุกคนที่นี่มีอย่างน้อยปริญญาตรีใน CS หรือสาขาที่เกี่ยวข้องอย่างใกล้ชิดดังนั้นในขณะที่ฉันจะได้รับหนังสือเรียนพื้นฐานเช่น Cormen ฉันสนใจหนังสือที่ดีในหัวข้อขั้นสูง (ฉันจะได้รับเล่ม 4 ของ Knuth, BTW)
รายการหัวข้อบางส่วนจะเป็น:
ขั้นตอนวิธีการเรียงลำดับ
อัลกอริธึมกราฟ
อัลกอริธึมสตริง
อัลกอริทึมแบบสุ่ม
อัลกอริทึมแบบกระจาย
อัลกอริทึม Combinatorial
เป็นต้น
โดยพื้นฐานแล้วฉันกำลังมองหาคำแนะนำที่ดีเกี่ยวกับหนังสือในหัวข้อที่สำคัญภายใน CS ที่เกี่ยวข้องกับอัลกอริทึมและโครงสร้างข้อมูล โดยเฉพาะอย่างยิ่งสิ่งที่นอกเหนือไปจากสิ่งที่ครอบคลุมโดยทั่วไปในชั้นเรียนอัลกอริทึมและโครงสร้างข้อมูลซึ่งเป็นส่วนหนึ่งของปริญญาตรีในโรงเรียนที่ดี ฉันรู้ว่าคำถามนั้นค่อนข้างคลุมเครือเนื่องจากฉันกำลังมองหาวัสดุที่มีประโยชน์โดยทั่วไป ซอฟต์แวร์ที่เราพัฒนานั้นส่วนใหญ่เป็นระบบที่จัดการกับข้อมูลจำนวนมาก
อุดมคติก็คือการค้นหาสิ่งใดก็ตามที่จะครอบคลุมโครงสร้างและอัลกอริธึมเจ๋ง ๆ ล่าสุดที่คนส่วนใหญ่อาจไม่เคยได้ยินมาก่อน
แก้ไข: นี่คือหนังสือเบื้องต้นที่ฉันคิดว่าฉันควรได้รับ:
รู้เบื้องต้นเกี่ยวกับอัลกอริทึมโดย Cormen และคณะ
การออกแบบอัลกอริทึมโดย Kleinberg, Tardos
The Art of Computer Programming Vol 1-4 โดย Knuth
อัลกอริทึมการประมาณโดย Vazirani
การออกแบบอัลกอริทึมการประมาณโดยวิลเลียมสัน, Shmoys
อัลกอริทึมแบบสุ่มโดย Motwani, Raghavan
ทฤษฎีการคำนวณเบื้องต้นโดย Sipser
ความซับซ้อนในการคำนวณโดย Arora, Barak
คอมพิวเตอร์และ Intractability โดย Garey และ Johnson
การเพิ่มประสิทธิภาพ Combinatorial โดย Schrijver
หนังสืออื่น ๆ อีกสองสามเล่มที่เพื่อนร่วมงานของฉันต้องการที่เกี่ยวข้องกับเทคนิคและอัลกอริธึมสำหรับการออกแบบภาษาคอมไพเลอร์และวิธีการที่เป็นทางการคือ:
ประเภทและภาษาการเขียนโปรแกรมโดย Pierce
หลักการตรวจสอบแบบจำลองโดย Baier, Katoen
ผู้แต่ง: หลักการเทคนิคและเครื่องมือโดย Aho, Lam, Sethi, Ullman
คู่มือการออกแบบคอมไพเลอร์: การปรับให้เหมาะสมและการสร้างรหัสเครื่องรุ่นที่สองโดย Srikant, Shankar
คู่มือการเก็บขยะ: ศิลปะการจัดการหน่วยความจำอัตโนมัติโดย Jones, Hosking, Moss