ประเภทข้อมูลนามธรรม: สัญญาการดำเนินการ
แนะนำใหม่| English | ความหมาย |
|---|---|
| stack/stæk/ | สตैก |
| queue/kjuː/ | คิว |
อะไรจะอธิบายการสังเกตนี้ได้?
- การจำลองแถวรอต้องการรายการที่ยังค้างไว้นานที่สุดก่อน Stack ให้รายการล่าสุดก่อน ดังนั้นสัญญาการดำเนินการจึงสำคัญ
- เริ่มต้นด้วยการทำนาย ระบุปริมาณหรือลักษณะที่คุณจะเปรียบเทียบ แล้วตัดสินใจว่าหลักฐานอะไรที่จะแยกแยะคำอธิบายสองแบบได้
สร้างโมเดล
- Abstract data type ระบุค่าและการดำเนินการโดยไม่ขึ้นอยู่กับ Implementation เฉพาะ Stack เป็น Last in First Out Queue เป็น First in First Out Collection interface ต้องการพฤติกรรมที่กำหนดสำหรับ Operation ที่ว่างและ Operation ที่ไม่ถูกต้อง
- stack: ประเภทข้อมูลนามธรรมแบบเข้า-last-ออก-first; queue: ประเภทข้อมูลนามธรรมแบบเข้า-first-ออก-first
โครงสร้างใดที่จำลองแถวรอรับบริการตามลำดับเวลาทั่วไป?
Difficulty 1/5 · 100 coins + a small bonus on first completion today
คิวเป็นระบบเข้าก่อนออกก่อน ซึ่งตรงกับสัญญาของคิว: เอนคิวที่ท้าย ดิควูจากหน้า สแต็กเป็นระบบเข้าหลังออกก่อน และโครงสร้างที่ไม่มีสัญญาไม่จำลองสิ่งใดได้อย่างน่าเชื่อถือ
จับคู่แต่ละคำศัพท์เทคนิคกับความหมายที่แม่นยำ
Difficulty 2/5 · 140 coins + a small bonus on first completion today
ใช้นิยามเพื่อแยกแยะปริมาณและกระบวนการที่เกี่ยวข้อง
เลือกหลักฐานมาทดสอบสมมติฐาน
- เลือกโครงสร้างตามรูปแบบการเข้าถึงที่ต้องการ ความซับซ้อนขึ้นอยู่กับ Implementation และสมมติฐาน: การลบรายการแรกออกจาก Shift array แตกต่างจากการเลื่อน head pointer ใน queue
- Trace ลำดับการดำเนินการด้วยมือ แล้วเปรียบเทียบโปรแกรมกับสถานะที่คาดหวัง ทดสอบ Operation ที่ว่างvisions singleton และซ้ำซ้อน State溢出พฤติกรรมหากความจุถูกกำหนดไว้
นิสัยสองอย่างใดทำให้การตรวจสอบหรือแบบจำลองในกรณีนี้รองรับได้มากขึ้น?
Difficulty 2/5 · 140 coins + a small bonus on first completion today
การระบุเงื่อนไขและสมมติฐานช่วยให้ผู้อื่นทำงานซ้ำได้โดยถูกต้อง และการบันทึกหลักฐานรองรับช่วยให้พวกเขาตรวจสอบข้อสรุปได้ การซ่อนผลลัพธ์ที่ขัดแย้งกันจะกำจัดหลักฐานที่อาจทลายข้อสรุปที่ผิดพลาด และข้อมูลจากตัววัดเพียงหนึ่งค่าไม่สามารถใช้ยืนยันข้ออ้างที่กว้างขวางได้
ทำงานจากปริมาณที่ทราบค่า
- ระบุค่าที่ทราบและหน่วยของมัน เลือกความสัมพันธ์โดยพิจารณาว่าข้อสมมติฐานสอดคล้องกับเคสนี้ แล้วจัดรูปสมการก่อนแทนค่า
- Known: เควอ A, B และ C แล้วดีควอสองครั้ง A และ B ออก; C คงอยู่ หลังจากเควอ D จะมีรายการรอสองรายการ คือ C แล้ว D การกด push เดียวกันบน stack จะเอา C ออกก่อนแล้วจึงเอา B ออก
Queue เริ่มว่าง รับ 7 รายการ และเอาออก 4. หาจำนวนที่เหลือ ใช้ลำดับเดียวกัน: จำนวน Known → โมเดล → ความสัมพันธ์ → การแทนค่า → หน่วยและการตีความ
คิวเริ่มต้นว่าง รับ 7 พจน์ และเอาออก 4 จงหาจำนวนพจน์ที่เหลืออยู่
Difficulty 2/5 · 140 coins + a small bonus on first completion today
ผลลัพธ์คือ 3 รายการ ทราบแล้ว: คิวว่าง; 7 เอนคิว; 4 ดิควู เหลือ = 7 - 4 = 3 รายการ ตามลำดับการมาถึง รายการสามรายการล่าสุดที่ยังคงรออยู่
ตรวจสอบข้อสรุปและขอบเขต
- ADT ไม่ใช่การจัดวางหน่วยความจำเฉพาะ Queue ไม่เรียงลำดับตามความสำคัญเว้นแต่สัญญาจะกำหนด priority queue
- กลับไปที่การสังเกตเดิม อธิบายว่าผลลัพธ์นี้สนับสนุนสิ่งใด มีเงื่อนไขใดบ้าง และเป็นอย่างไรในการทดสอบคำอธิบายอื่นที่ขัดแย้งกัน
คิวทุกชนิดจัดเรียงรายการตามความสำคัญโดยอัตโนมัติ ข้ออ้างนี้ไม่ถูกต้อง: คิวทั่วไปจะปล่อยรายการตามลำดับการเข้ามาอย่างเคร่งครัด การให้บริการตามความสำคัญเป็นคิวที่มีความสำคัญ - ซึ่งเป็นสัญญาที่แตกต่างและต้องระบุไว้อย่างชัดเจน
ประเภทข้อมูลเชิงนามธรรม: สัญญาการดำเนินการ: เลือกโครงสร้างสำหรับการเข้าถึงรูปแบบที่ต้องการ ความซับซ้อนขึ้นอยู่กับวิธีนำไปใช้และสมมติฐาน: การลบรายการแรกออกจากอาร์เรย์ที่เลื่อนตำแหน่ง differs from การเคลื่อนหัวชี้ชี้ในคิว
คิวทุกชนิดจะจัดเรียงรายการตามความสำคัญโดยอัตโนมัติ
Difficulty 1/5 · 100 coins + a small bonus on first completion today
คิวทั่วไปปล่อยรายการตามลำดับการ arrival อย่างเคร่งครัด การให้บริการตามความสำคัญคือ PRIORITY queue - สัญญาที่แตกต่างกันซึ่งต้องระบุอย่างชัดเจน
ประเภทข้อมูลนามธรรมแบบเข้าสุดท้าย-ออกแรก: เขียนคำศัพท์เทคนิค
Difficulty 1/5 · 100 coins + a small bonus on first completion today
สแต็กหมายถึง ประเภทข้อมูลนามธรรมแบบเข้าหลังออกหน้า (LIFO)