โครงสร้างข้อมูล Java และการรวบรวมอัลกอริทึม
พื้นที่เก็บข้อมูลนี้มีตัวอย่างรหัสการศึกษาสำหรับโครงสร้างข้อมูลและอัลกอริทึมต่างๆที่ใช้ใน Java มันถูกออกแบบมาเพื่อช่วยให้ผู้เรียนเข้าใจและใช้แนวคิดพื้นฐานในโครงสร้างข้อมูลและอัลกอริทึม แต่ละไฟล์และโฟลเดอร์มีความคิดเห็นโดยละเอียดเพื่ออธิบายรหัสและแนวคิด
สารบัญ
โครงสร้างข้อมูล
โครงสร้างข้อมูลพื้นฐาน
- อาร์เรย์
- รายการที่เชื่อมโยง
- รายการที่เชื่อมโยงกันเดี่ยว
- รายการที่เชื่อมโยงเป็นสองเท่า
- รายการที่เชื่อมโยงแบบวงกลม
- กองซ้อน
- คิว
- คิวลำดับความสำคัญ
- ตารางแฮช
- ชุด
- แผนที่
ต้นไม้
- ต้นไม้ไบนารี
- ทรีค้นหาไบนารี (BST)
- ต้นไม้ AVL
- ต้นไม้สีแดงดำ
- ทรีเซ็กเมนต์
- Fenwick Tree (ต้นไม้ดัชนีไบนารี)
- ต้นไม้ที่สอง
- ต้นไม้ N-ary
กราฟ
- กราฟกำกับ
- กราฟที่ไม่ได้ทำ
- กราฟถ่วงน้ำหนัก
อัลกอริทึม
การเรียงลำดับอัลกอริทึม
- จัดเรียงฟอง
- การเลือกการเลือก
- เรียงลำดับ
- การเรียงลำดับ
- จัดเรียงอย่างรวดเร็ว
- การจัดเรียงกอง
- การนับการเรียงลำดับ
- เรียงลำดับ Radix
- จัดเรียงถัง
- การเรียงลำดับบิงโก
- จัดเรียงเปลือกหอย
- การจัดเรียงหวี
- ค็อกเทล
การค้นหาอัลกอริทึม
- การค้นหาเชิงเส้น
- การค้นหาแบบไบนารี
- การค้นหาครั้งแรกเชิงลึก (DFS)
- การค้นหาครั้งแรกที่กว้าง (BFS)
- กระโดดค้นหา
- การค้นหา Fibonacci
อัลกอริทึมกราฟ
- อัลกอริทึมของ Dijkstra
- อัลกอริทึม Bellman-Ford
- อัลกอริทึม Floyd-Warshall
- อัลกอริทึมของ Kruskal
- อัลกอริทึมของ Prim
- การจัดเรียงทอพอโลยี
- A* อัลกอริทึมการค้นหา
- อัลกอริทึม Huffman
การเขียนโปรแกรมแบบไดนามิก
- ซีรีส์ Fibonacci
- ต่อมาที่ยาวที่สุด (LCS)
- ต่อมาเพิ่มขึ้นนานที่สุด (LIS)
- การคูณสายโซ่เมทริกซ์
อัลกอริทึมคณิตศาสตร์และ combinatorial แบบแยกส่วน
- การเรียงสับเปลี่ยนและชุดค่าผสม
- ปัญหาผลรวมส่วนย่อย
- ปัญหาพนักงานขายเดินทาง (TSP)
- การระบายสีกราฟ
วิธีใช้
ไฟล์และโฟลเดอร์ Java แต่ละไฟล์มีการตั้งชื่อเพื่อระบุโครงสร้างข้อมูลหรืออัลกอริทึมที่ครอบคลุม ตัวอย่างเช่นภายในโฟลเดอร์ Algorithms โฟลเดอร์ 1-sorting_algorithms ประกอบด้วย 1-bubble_sort ซึ่งเกี่ยวข้องกับอัลกอริทึมการเรียงลำดับฟองใน Java
การบริจาค
หากคุณต้องการมีส่วนร่วมในที่เก็บนี้อย่าลังเลที่จะส่งคำขอดึง คุณสามารถเพิ่มตัวอย่างใหม่ปรับปรุงรหัสที่มีอยู่หรือแก้ไขปัญหาใด ๆ ยินดีต้อนรับการมีส่วนร่วมของทุกระดับ!
ใบอนุญาต
ที่เก็บนี้ได้รับใบอนุญาตภายใต้ใบอนุญาต MIT ดูไฟล์ใบอนุญาตสำหรับข้อมูลเพิ่มเติม
หมายเหตุ: พื้นที่เก็บข้อมูลนี้มีไว้สำหรับวัตถุประสงค์ทางการศึกษาเพื่อช่วยเรียนรู้และเข้าใจโครงสร้างข้อมูลและอัลกอริทึมใน Java
อย่าลืมแสดงที่เก็บข้อมูลหากคุณพบว่ามีประโยชน์!