
โครงสร้างข้อมูลเชิงเส้นเป็นโครงสร้างข้อมูลระดับเดียวในขณะที่โครงสร้างข้อมูลที่ไม่ใช่เชิงเส้นเป็นโครงสร้างข้อมูลหลายระดับ โครงสร้างข้อมูลก่อนหน้านี้อธิบายวิธีการจัดระเบียบเข้าถึงเข้าถึงเชื่อมโยงและประมวลผล
แผนภูมิเปรียบเทียบ
พื้นฐานสำหรับการเปรียบเทียบ | โครงสร้างข้อมูลเชิงเส้น | โครงสร้างข้อมูลที่ไม่ใช่เชิงเส้น |
---|---|---|
ขั้นพื้นฐาน | รายการข้อมูลจะถูกจัดเรียงในลักษณะที่เป็นระเบียบซึ่งองค์ประกอบที่แนบมาติดกัน | มันจัดเรียงข้อมูลตามลำดับการเรียงและมีความสัมพันธ์ระหว่างองค์ประกอบข้อมูล |
การข้ามผ่านข้อมูล | องค์ประกอบข้อมูลสามารถเข้าถึงได้ในครั้งเดียว (เรียกใช้ครั้งเดียว) | การสำรวจองค์ประกอบข้อมูลในครั้งเดียวเป็นไปไม่ได้ |
ใช้งานง่าย | ที่เรียบง่าย | ซับซ้อน |
ระดับที่เกี่ยวข้อง | ระดับเดียว | หลายระดับ |
ตัวอย่าง | อาร์เรย์คิวสแต็ครายการที่ลิงก์เป็นต้น | ต้นไม้และกราฟ |
การใช้งานหน่วยความจำ | ไม่ได้ผล | มีประสิทธิภาพ |
ความหมายของโครงสร้างข้อมูลเชิงเส้น
โครงสร้างข้อมูลถือเป็น เส้นตรง ถ้าองค์ประกอบข้อมูลสร้างลำดับของรายการเชิงเส้น องค์ประกอบที่แนบมาติดกันและในลำดับที่ระบุ มันใช้พื้นที่หน่วยความจำเชิงเส้นองค์ประกอบข้อมูลที่จำเป็นในการจัดเก็บในลักษณะต่อเนื่องในหน่วยความจำ ในขณะที่การนำโครงสร้างข้อมูลเชิงเส้นไปใช้จะมีการประกาศจำนวนหน่วยความจำที่จำเป็นก่อนหน้านี้ มันไม่ได้ใช้ประโยชน์จากหน่วยความจำที่ดีและทำให้สูญเสียความทรงจำ องค์ประกอบข้อมูลจะถูกเยี่ยมชมตามลำดับโดยที่สามารถเข้าถึงได้เพียงองค์ประกอบเดียวเท่านั้น
ตัวอย่างที่รวมอยู่ในโครงสร้างข้อมูลเชิงเส้นคืออาร์เรย์สแต็กคิวรายการที่ลิงก์เป็นต้น อาร์เรย์ คือกลุ่มขององค์ประกอบที่เป็นเนื้อเดียวกันหรือรายการข้อมูลที่แน่นอน สแต็ค และ คิว ยังเป็นคอลเลกชันที่ได้รับคำสั่งขององค์ประกอบเช่นอาร์เรย์ แต่มีเงื่อนไขพิเศษที่สแต็คตามลำดับ LIFO (เข้าก่อนออกก่อน) และคิวใช้ FIFO (เข้าก่อนออกก่อน) เพื่อแทรกและลบองค์ประกอบ รายการ สามารถกำหนดเป็นชุดของรายการข้อมูลจำนวนตัวแปร
ความหมายของโครงสร้างข้อมูลที่ไม่ใช่เชิงเส้น
โครงสร้างข้อมูลที่ไม่ใช่เชิงเส้น ไม่ได้จัดเรียงข้อมูลอย่างต่อเนื่อง แต่จะเรียงตามลำดับที่เรียง ในสิ่งนี้องค์ประกอบข้อมูลสามารถแนบกับองค์ประกอบมากกว่าหนึ่งรายการที่แสดงความสัมพันธ์แบบลำดับชั้นซึ่งเกี่ยวข้องกับความสัมพันธ์ระหว่างเด็กผู้ปกครองและปู่ย่าตายาย ในโครงสร้างข้อมูลที่ไม่ใช่เชิงเส้นการสำรวจเส้นทางขององค์ประกอบข้อมูลและการแทรกหรือการลบจะไม่ทำตามลำดับ
โครงสร้างข้อมูลที่ไม่ใช่เชิงเส้นใช้หน่วยความจำอย่างมีประสิทธิภาพและไม่ต้องการการประกาศหน่วยความจำล่วงหน้า มีสองตัวอย่างทั่วไปของโครงสร้างข้อมูลที่ไม่ใช่เชิงเส้น - ต้นไม้ และ กราฟ โครงสร้างข้อมูลแบบต้นไม้จัดระเบียบและจัดเก็บองค์ประกอบข้อมูลในความสัมพันธ์แบบลำดับชั้น
ความแตกต่างที่สำคัญระหว่างโครงสร้างข้อมูลเชิงเส้นและไม่ใช่เชิงเส้น
- ในโครงสร้างข้อมูลเชิงเส้นข้อมูลจะถูกจัดเรียงตามลำดับเชิงเส้นซึ่งองค์ประกอบจะเชื่อมโยงกันหลังจากนั้น เมื่อเทียบกับในโครงสร้างข้อมูลที่ไม่ใช่เชิงเส้นองค์ประกอบข้อมูลจะไม่ถูกจัดเก็บในลักษณะที่ต่อเนื่อง แต่องค์ประกอบที่เกี่ยวข้องกับลำดับชั้น
- การสำรวจข้อมูลในโครงสร้างข้อมูลเชิงเส้นเป็นเรื่องง่ายเนื่องจากสามารถทำให้องค์ประกอบข้อมูลทั้งหมดถูกสำรวจได้ในครั้งเดียว แต่ในเวลาเดียวสามารถเข้าถึงองค์ประกอบได้โดยตรง ในทางตรงกันข้ามในโครงสร้างข้อมูลที่ไม่เป็นเชิงเส้นโหนดจะไม่ถูกเยี่ยมชมตามลำดับและไม่สามารถข้ามไปได้ในคราวเดียว
- องค์ประกอบข้อมูลติดอยู่อย่างแนบเนียนในโครงสร้างข้อมูลเชิงเส้นซึ่งหมายความว่ามีเพียงสององค์ประกอบเท่านั้นที่สามารถเชื่อมโยงกับอีกสององค์ประกอบในขณะที่นี่ไม่ใช่กรณีในโครงสร้างข้อมูลที่ไม่ใช่เชิงเส้นซึ่งองค์ประกอบข้อมูลหนึ่งสามารถเชื่อมต่อกับองค์ประกอบอื่น ๆ อีกมากมาย
- โครงสร้างข้อมูลเชิงเส้นสามารถนำไปใช้งานได้ง่ายเมื่อเทียบกับโครงสร้างข้อมูลที่ไม่ใช่เชิงเส้น
- องค์ประกอบระดับเดียวจะรวมอยู่ในโครงสร้างข้อมูลเชิงเส้น ในทางกลับกันโครงสร้างข้อมูลที่ไม่ใช่เชิงเส้นมีหลายระดับ
- ตัวอย่างของโครงสร้างข้อมูลเชิงเส้นคืออาร์เรย์คิวสแต็ครายการที่เชื่อมโยง ฯลฯ ในทางกลับกันต้นไม้และกราฟเป็นตัวอย่างของโครงสร้างข้อมูลที่ไม่ใช่เชิงเส้น
- หน่วยความจำถูกใช้อย่างมีประสิทธิภาพในโครงสร้างข้อมูลที่ไม่ใช่เชิงเส้นซึ่งโครงสร้างข้อมูลเชิงเส้นมีแนวโน้มที่จะทำให้หน่วยความจำเสีย
ข้อสรุป
โครงสร้างข้อมูลเชิงเส้นเกี่ยวข้องกับองค์ประกอบข้อมูลระดับเดียวและแสดงถึงความสัมพันธ์เชิงเส้น ในทางตรงกันข้ามโครงสร้างข้อมูลที่ไม่ใช่เชิงเส้นกล่าวกันว่าเป็นโครงสร้างข้อมูลหลายระดับที่ประกอบด้วยความสัมพันธ์แบบลำดับชั้นในหมู่ข้อมูล