โครงสร้างข้อมูลเชิงเส้น
โครงสร้างข้อมูลเชิงเส้นมีองค์ประกอบข้อมูลจัดเรียงตามลำดับ และองค์ประกอบสมาชิกแต่ละตัวเชื่อมต่อกับองค์ประกอบก่อนหน้าและถัดไป การเชื่อมต่อนี้ช่วยในการสำรวจโครงสร้างข้อมูลเชิงเส้นในระดับเดียวและในการรันครั้งเดียว โครงสร้างข้อมูลดังกล่าวง่ายต่อการใช้งาน เนื่องจากหน่วยความจำคอมพิวเตอร์เป็นแบบต่อเนื่อง ตัวอย่างของโครงสร้างข้อมูลเชิงเส้น ได้แก่ List, Queue, Stack, Array เป็นต้น
โครงสร้างข้อมูลที่ไม่เป็นเชิงเส้น
โครงสร้างข้อมูลที่ไม่เป็นเชิงเส้นไม่มีลำดับการเชื่อมต่อองค์ประกอบทั้งหมด และแต่ละองค์ประกอบสามารถมีหลายเส้นทางเพื่อเชื่อมต่อกับองค์ประกอบอื่นๆ โครงสร้างข้อมูลดังกล่าวรองรับการจัดเก็บข้อมูลแบบหลายระดับและมักจะไม่สามารถข้ามผ่านในการรันครั้งเดียวได้ โครงสร้างข้อมูลดังกล่าวไม่ใช่เรื่องง่ายที่จะนำไปใช้ แต่มีประสิทธิภาพมากกว่าในการใช้หน่วยความจำคอมพิวเตอร์ ตัวอย่างของโครงสร้างข้อมูลที่ไม่เป็นเชิงเส้น ได้แก่ Tree, BST, Graphs เป็นต้น
ต่อไปนี้เป็นข้อแตกต่างที่สำคัญระหว่างโครงสร้างข้อมูลเชิงเส้นและโครงสร้างข้อมูลที่ไม่ใช่เชิงเส้น
ซีเนียร์ เลขที่ | คีย์ | โครงสร้างข้อมูลเชิงเส้น | โครงสร้างข้อมูลที่ไม่เป็นเชิงเส้น | |
---|---|---|---|---|
1 | การจัดองค์ประกอบข้อมูล | ในโครงสร้างข้อมูลเชิงเส้น องค์ประกอบข้อมูลจะเชื่อมต่อตามลำดับและแต่ละองค์ประกอบสามารถข้ามผ่านได้ด้วยการรันครั้งเดียว | ในโครงสร้างข้อมูลที่ไม่เป็นเชิงเส้น องค์ประกอบข้อมูลมีการเชื่อมต่อแบบลำดับชั้นและมีอยู่ในระดับต่างๆ | |
2 | ระดับ | ในโครงสร้างข้อมูลเชิงเส้น องค์ประกอบข้อมูลทั้งหมดจะแสดงที่ระดับเดียว | ในโครงสร้างข้อมูลที่ไม่เป็นเชิงเส้น องค์ประกอบข้อมูลมีอยู่หลายระดับ | |
3 | ความซับซ้อนในการใช้งาน | ใช้โครงสร้างข้อมูลเชิงเส้นได้ง่ายขึ้น | โครงสร้างข้อมูลที่ไม่ใช่เชิงเส้นนั้นเข้าใจและนำไปใช้ได้ยากเมื่อเทียบกับโครงสร้างข้อมูลเชิงเส้น | |
4 | ข้ามผ่าน | สามารถข้ามโครงสร้างข้อมูลเชิงเส้นได้ในคราวเดียว | โครงสร้างข้อมูลที่ไม่เป็นเชิงเส้นไม่ใช่เรื่องง่ายที่จะข้าม และต้องมีการรันหลายครั้งจึงจะผ่านได้อย่างสมบูรณ์ | |
5 | การใช้หน่วยความจำ | โครงสร้างข้อมูลเชิงเส้นไม่ค่อยเป็นมิตรกับหน่วยความจำและไม่ได้ใช้หน่วยความจำอย่างมีประสิทธิภาพ | โครงสร้างข้อมูลแบบไม่เชิงเส้นใช้หน่วยความจำอย่างมีประสิทธิภาพมาก | |
6 | ความซับซ้อนของเวลา | ความซับซ้อนของเวลาของโครงสร้างข้อมูลเชิงเส้นมักจะเพิ่มขึ้นตามขนาดที่เพิ่มขึ้น | ความซับซ้อนของเวลาของโครงสร้างข้อมูลที่ไม่เป็นเชิงเส้นมักจะยังคงอยู่ตามขนาดที่เพิ่มขึ้น | |
7 | ตัวอย่าง | อาร์เรย์ รายการ คิว สแต็ก | กราฟ แผนที่ ต้นไม้ |