โครงสร้างข้อมูลที่สำคัญที่สุด 8 ประการในการออกแบบเว็บไซต์คือข้อใด
เผยแพร่แล้ว: 2022-04-28โครงสร้างข้อมูลเป็นวิธีพิเศษในการจัดระเบียบและจัดเก็บข้อมูลบนคอมพิวเตอร์เพื่อการใช้งานที่มีประสิทธิภาพยิ่งขึ้น โครงสร้างข้อมูลมีการใช้งานที่หลากหลายในด้านวิทยาการคอมพิวเตอร์และวิศวกรรมซอฟต์แวร์ โครงสร้างข้อมูลถูกใช้ในโปรแกรมหรือระบบเกือบทั้งหมดที่ใช้สำหรับการพัฒนา เป็นข้อกำหนดพื้นฐานในด้านวิทยาการคอมพิวเตอร์และการพัฒนาซอฟต์แวร์สำหรับการจัดโครงสร้างข้อมูล ในบทความนี้ เราจะพูดถึง 8 โครงสร้างข้อมูลที่สำคัญที่สุดในการออกแบบเว็บไซต์
อาร์เรย์
อาร์เรย์เป็นโครงสร้างที่มีขนาดคงที่ซึ่งสามารถมีองค์ประกอบประเภทข้อมูลเดียวกันได้ อาจเป็นชุดของจำนวนเต็ม เลขทศนิยมหลายจำนวน ชุดของสตริง หรือชุดของอาร์เรย์
อาร์เรย์ถูกปรับขนาดเพื่อไม่ให้องค์ประกอบในอาร์เรย์ถูกลบออกหรือสามารถลบองค์ประกอบออกจากอาร์เรย์ได้ทันที มันถูกใช้เป็นส่วนประกอบในการสร้างรายการของเมทริกซ์ สแต็ค ตารางแฮช เวกเตอร์ และโครงสร้างข้อมูลอื่นๆ เช่น เมทริกซ์
มันถูกใช้ในอัลกอริธึมการเรียงลำดับที่หลากหลาย เช่น การเรียงลำดับแบบแทรก การเรียงลำดับแบบด่วน การเรียงลำดับแบบฟอง และการเรียงลำดับแบบรวม
รายการที่เชื่อมโยง
รายการที่เชื่อมโยงเป็นโครงสร้างตามลำดับที่ประกอบด้วยชุดของรายการที่เกี่ยวข้องกันในลำดับเชิงเส้น ดังนั้นข้อมูลจะต้องเข้าถึงตามลำดับและไม่สุ่ม รายการที่เชื่อมโยงมีชุดไดนามิกเวอร์ชันที่เรียบง่ายและยืดหยุ่น
องค์ประกอบของรายการที่เชื่อมโยงเรียกว่าโหนด แต่ละโหนดมีคีย์และตัวชี้ไปยังโหนดถัดไปซึ่งเรียกว่า Next และองค์ประกอบสุดท้ายของรายการที่เชื่อมโยงเรียกว่าสตริง
กอง
สแต็กเป็นโครงสร้าง LIFO ที่ใช้กันอย่างแพร่หลาย (last-in-first-out-last-in-first-out) ในภาษาการเขียนโปรแกรมหลายภาษา การออกแบบนี้เรียกว่า "กอง" เพราะดูเหมือนกองจริง ๆ กองจาน นอกจากนี้ยังมีฟังก์ชันเพิ่มเติมสำหรับตรวจสอบสถานะของสแตก เช่น
- พีค: แสดงส่วนบนสุดของสแต็กโดยไม่ทำให้สแต็กว่างเปล่า
- isEmpty: ตรวจสอบว่าสแต็กว่างเปล่าหรือไม่
- IsFull: ตรวจสอบว่าสแต็กเต็มหรือไม่
สแต็คใช้สำหรับประเมินนิพจน์แบทช์ เช่น อัลกอริธึมฟิลด์ทางคณิตศาสตร์สำหรับการแยกวิเคราะห์และประเมินสูตร และยังใช้เพื่อปรับใช้การเรียกฟังก์ชันในการเขียนโปรแกรมแบบเรียกซ้ำ
คิว
คิวเป็นโครงสร้าง FIFO (เข้าก่อน ออกก่อน วางไว้บนสุดสามารถเข้าถึงได้ก่อน) ซึ่งพบได้ในภาษาการเขียนโปรแกรมหลายภาษา โครงสร้างนี้เรียกว่า "คิว" เพราะดูเหมือนคิวในโลกแห่งความจริง - คนกำลังรออยู่ในคิว การใช้คิว คุณสามารถให้คำสั่งต่อไปนี้ -

- Enqueue: แทรกรายการที่ท้ายคิว
- Dequeue-Remove รายการจากด้านบนของคิว
ตารางแฮช
ตารางแฮชเป็นโครงสร้างข้อมูลที่เก็บค่า และแต่ละค่ามีคีย์ที่เกี่ยวข้อง การค้นหาจะมีประสิทธิภาพหากโปรแกรมเมอร์รู้คีย์ที่เกี่ยวข้องกับค่า และสามารถใส่ข้อมูลในขนาดใดก็ได้โดยใช้ตารางแฮช ตารางแฮชใช้การแมปแบบหนึ่งต่อหนึ่งระหว่างค่าและคีย์เมื่อจัดเก็บไว้ในตาราง
อย่างไรก็ตาม วิธีนี้มีปัญหาเมื่อมีคู่คีย์-ค่าจำนวนมาก ตารางแฮชมีระเบียนจำนวนมากซึ่งอาจเป็นเรื่องยากสำหรับระบบคอมพิวเตอร์ทั่วไปในการจัดเก็บข้อมูลนั้น
ต้นไม้
ต้นไม้เป็นโครงสร้างแบบลำดับชั้นที่ข้อมูลถูกจัดระเบียบตามลำดับชั้นและเชื่อมโยงถึงกัน โครงสร้างนี้แตกต่างจากรายการที่เชื่อมโยง และในรายการที่เชื่อมโยง รายการจะถูกเชื่อมโยงในลำดับเชิงเส้น ในช่วงสองสามทศวรรษที่ผ่านมา ต้นไม้ประเภทต่างๆ ได้รับการพัฒนาเพื่อให้เหมาะกับการใช้งานบางประเภทและตรงตามข้อกำหนดบางประการ
ตัวอย่างบางส่วน ได้แก่ ต้นไม้ค้นหาแบบไบนารี, ต้นไม้ B, ต้นไม้, ต้นไม้สีแดง-ดำ, ต้นไม้ขยาย, ต้นไม้ AVL และต้นไม้ n-ary แผนผังการค้นหาแบบไบนารี แผนผังการค้นหาแบบไบนารี (BST) ตามชื่อที่แนะนำ คือแผนผังไบนารีที่สามารถหาข้อมูลได้
กอง
ฮีปเป็นกรณีพิเศษของไบนารีทรี โดยเปรียบเทียบโหนดบนสุดกับโหนดย่อยและค่าของโหนดแล้วจัดเรียงตามลำดับ
ตัวอย่างของแอตทริบิวต์ฮีปขั้นต่ำคือ
- กองขั้นต่ำ: กุญแจของพ่อน้อยกว่าหรือเท่ากับกุญแจของลูก รูทจะมีค่าต่ำสุดของฮีป
- ฮีปสูงสุด: คีย์ของรายการพาเรนต์มีค่ามากกว่าหรือเท่ากับคีย์ของคีย์ย่อย สิ่งนี้เรียกว่าแอตทริบิวต์ฮีปสูงสุด รูทจะมีค่าสูงสุดของฮีป
มันถูกใช้เพื่อปรับใช้คิวลำดับความสำคัญ เนื่องจากค่าลำดับความสำคัญสามารถจัดเรียงตามแอตทริบิวต์ของฮีป และอาร์เรย์สามารถใช้เพื่อใช้งานฮีปได้
กราฟ
กราฟประกอบด้วยชุดจุดยอดหรือโหนดจำนวนจำกัด และชุดขอบที่เชื่อมต่อจุดยอดเหล่านี้ ลำดับของกราฟคือจำนวนจุดยอดในกราฟ ขนาดของแผนภูมิคือจำนวนด้านของแผนภูมิ หากโหนดสองโหนดเชื่อมต่อกันด้วยขอบเดียวกัน โหนดทั้งสองจะเรียกว่าอยู่ติดกัน
- หากขอบของกราฟทั้งหมดมีทิศทาง ซึ่งระบุจุดยอดเริ่มต้นและจุดยอดสุดท้าย กราฟจะเรียกว่ากราฟกำกับ
- ถ้าขอบของกราฟทั้งหมดไม่มีทิศทาง จะเรียกว่ากราฟที่ไม่มีทิศทาง สามารถเคลื่อนที่ได้ทั้งสองทิศทางระหว่างจุดยอดสองจุด
- หากจุดยอดไม่ได้เชื่อมต่อกับโหนดอื่นในกราฟ จะถือว่าจุดยอดนั้นแยกออกจากกัน








