ในบทความนี้ เราจะเข้าใจความแตกต่างระหว่างโครงสร้างข้อมูลเชิงเส้นและโครงสร้างข้อมูลที่ไม่ใช่เชิงเส้น
โครงสร้างข้อมูลเชิงเส้น
-
องค์ประกอบของโครงสร้างดังกล่าวถูกจัดเรียงตามลำดับ
-
ทุกองค์ประกอบสามารถเข้าถึงได้โดยการสำรวจผ่านโครงสร้างเชิงเส้น
-
องค์ประกอบทั้งหมดของโครงสร้างเชิงเส้นอยู่ในระดับเดียว นั่นคือไม่มีลำดับชั้น
-
ง่ายต่อการใช้งานและใช้งาน
-
พวกเขาใช้หน่วยความจำมากขึ้น จึงไม่เป็นมิตรกับหน่วยความจำมากนัก
-
ความซับซ้อนของเวลาของโครงสร้างข้อมูลเชิงเส้นมักจะเพิ่มขึ้นเมื่อขนาดของโครงสร้างเพิ่มขึ้น
-
ตัวอย่าง ได้แก่ list, array, stack
ด้านล่างแสดงตัวอย่างรายการในภาษา Python
my_list = [45, 42, 12, 34, 56, 7] print(my_list)
ผลลัพธ์
[45, 42, 12, 34, 56, 7]
โครงสร้างข้อมูลที่ไม่เป็นเชิงเส้น
-
องค์ประกอบจะถูกจัดเก็บตามลำดับชั้น
-
พวกเขาเชื่อมต่อกันโดยใช้ 'โหนด'
-
องค์ประกอบของโครงสร้างนี้มีอยู่ในระดับต่างๆ ไม่ใช่ระดับเดียว
-
การนำไปใช้งานไม่ใช่เรื่องง่าย
-
ไม่สามารถสำรวจได้อย่างง่ายดาย เนื่องจากต้องใช้การวนซ้ำหลายครั้งจึงจะผ่านโครงสร้างข้อมูลที่ไม่เป็นเชิงเส้นได้อย่างสมบูรณ์
-
เป็นมิตรกับหน่วยความจำ เช่น ใช้หน่วยความจำอย่างมีประสิทธิภาพ
-
ความซับซ้อนของเวลาของโครงสร้างข้อมูลที่ไม่เป็นเชิงเส้นยังคงเหมือนเดิมแม้ว่าขนาดของข้อมูลจะเพิ่มขึ้น
-
ตัวอย่าง ได้แก่ แผนที่ ต้นไม้ กราฟ
ตัวอย่างด้านล่างแสดงวิธีการกำหนดกราฟ ซึ่งบ่งชี้ว่าต้องมีการกำหนดการเชื่อมต่อระหว่างโหนดด้วย
ตัวอย่าง
graph = {'A': ['B', 'C'], 'B': ['C'], 'C': ['D', 'E'], 'D': ['C'], 'E': ['F', 'G'], 'F': ['C']}