"คำอธิบายอัลกอริทึมที่ยอดเยี่ยม: คำอธิบายภาษา C" ซอร์สโค้ดและโปรเจ็กต์ Xcode, โปรเจ็กต์ Linux
เพียงใช้ Xcode เพื่อเปิด MasteringAlgorithms.xcodeproj
บน Mac Algorithms.xcodeproj
เป็นโครงการไฟล์ไลบรารีอัลกอริทึม แต่ละตัวอย่างเป็นไฟล์รันแยกต่างหาก
บรรทัดคำสั่ง Mac หรือ Linux
สิ่งที่คุณต้องมีคือสภาพแวดล้อมการคอมไพล์ c อย่างง่าย cc
จากนั้นดำเนินการ ./run bfs
โดยที่ bfs
เป็นไดเร็กทอรีตัวอย่างใน Example
คุณยังสามารถใช้ cc
gcc
ฯลฯ gcc source/*.c Example/bfs/main.c -I ./include -o bfs && ./bfs
โครงสร้างข้อมูล
รายการที่เชื่อมโยง
- รายการที่เชื่อมโยงเพียงรายการเดียว
- การจัดการเฟรมหน้า
- รายการที่เชื่อมโยงแบบทวีคูณ
- รายการเชื่อมโยงแบบวงกลม
- การเปลี่ยนหน้าโอกาสครั้งที่สอง
สแต็คและคิว
- สแต็ค
- คิว
- การจัดการเหตุการณ์
รวมตัว
- รวมตัว
- ความคุ้มครองของคอลเลกชัน
ตารางแฮช
- ตารางแฮชที่ถูกล่ามโซ่
- ตารางสัญลักษณ์
- เปิดตารางแฮชที่อยู่
ต้นไม้
- ต้นไม้ไบนารี
- การสำรวจต้นไม้แบบไบนารี
- ต้นไม้ค้นหาแบบไบนารี
คิวฮีปและลำดับความสำคัญ
- กอง
- คิวลำดับความสำคัญ
- การคัดแยกพัสดุ
รูปภาพ
- รูปภาพ
- การค้นหากราฟเชิงลึก
- ค้นหาความกว้างของกราฟ
อัลกอริทึม
จัดเรียงและค้นหา
- การเรียงลำดับการแทรก
- จัดเรียงอย่างรวดเร็ว
- รายการไดเรกทอรี
- ผสานการเรียงลำดับ
- การเรียงลำดับการนับ
- การเรียงลำดับ Radix
- การค้นหาแบบไบนารี
- เครื่องตรวจตัวสะกด
การคำนวณเชิงตัวเลข
- การประมาณค่าพหุนาม
- วิธีการประมาณกำลังสองน้อยที่สุด
- การแก้สมการ
การบีบอัดข้อมูล
- การดำเนินการบิต
- การเข้ารหัสของฮัฟฟ์แมน
- การเพิ่มประสิทธิภาพการรับส่งข้อมูลเครือข่าย
- LZ77
การเข้ารหัสข้อมูล
- อัลกอริทึม DES
- โหมดการเข้ารหัสบล็อก
- อัลกอริทึมอาร์เอสเอ
อัลกอริธึมกราฟ
- ต้นไม้ที่ทอดยาวที่สุด
- เส้นทางที่สั้นที่สุด
- เส้นทางที่สั้นที่สุด
- ปัญหาพนักงานขายเดินทาง
อัลกอริธึมทางเรขาคณิต
- ทดสอบว่าส่วนของเส้นตัดกันหรือไม่
- การคำนวณตัวเรือนูน
- ความยาวส่วนโค้งทรงกลม
- ระยะทางโดยประมาณระหว่างจุดสองจุดบนโลก