จากสิ่งที่ฉันได้เห็นดูเหมือนว่าสัญกรณ์และเวลาและความซับซ้อนของหน่วยความจำขนาดใหญ่จะเน้นไปที่การศึกษาวิทยาศาสตร์คอมพิวเตอร์อย่างเป็นทางการ ... อย่างไรก็ตามการเรียนรู้ด้วยตนเองการรับรู้นี้ขึ้นอยู่กับการได้ยินและการอ่านสิ่งที่ผู้คน พูดและเขียน
แม้ว่าฉันจะเชื่อว่าความคิดและแนวคิดทั่วไปมีความสำคัญ แต่ฉันไม่เชื่อว่าการทำให้เป็นระเบียบของมัน (เช่นสัญลักษณ์ขนาดใหญ่ O และคำศัพท์ต่าง ๆ ) มีความสำคัญเกือบจะมากยกเว้นเพื่อวัตถุประสงค์ในการสื่อสาร เพียงเพราะบางคนไม่คุ้นเคยกับสัญลักษณ์อย่างเป็นทางการและคำศัพท์ไม่ได้หมายความว่าพวกเขาไม่สามารถมองเห็นได้ว่าทำไมและทำไมอัลกอริธึมหนึ่งถึงเร็วกว่าอีกอันในบางกรณี ผู้คนสามารถเห็นได้ว่าเวลาที่ใช้ในการค้นหาต้นไม้ไบนารีแบบสมดุลนั้นเกี่ยวข้องกับลอการิทึมฐาน 2 ของจำนวนโหนดโดยไม่ต้องเรียนรู้เกี่ยวกับทฤษฎีความซับซ้อนเป็นครั้งแรกหากพวกเขาเข้าใจว่าต้นไม้ทำงานอย่างไรและมีความเข้าใจสูงพอสมควร คณิตศาสตร์โรงเรียน สิ่งสำคัญคือต้องทราบว่าเมื่อใดที่ต้องคำนึงถึงความซับซ้อนและการใช้หน่วยความจำและพิจารณากรณีทั่วไปและที่เลวร้ายที่สุดแม้ว่า ... แต่บางคนไม่
สัญกรณ์และคำศัพท์เป็นสิ่งสำคัญสำหรับการสื่อสาร พวกเขาให้วิธีที่ดีในการถ่ายทอดปริมาณของประสิทธิภาพของอัลกอริทึมให้กับคนอื่น เนื่องจากมีเอกสารและคำอธิบายเป็นประจำจึงมีประโยชน์ที่จะต้องมีความเข้าใจที่คลุมเครืออย่างน้อยก็เพื่อให้ง่ายต่อการติดตาม
ใช่แนวคิดมีความสำคัญ (แม้ว่าจะน้อยกว่าดังนั้นเมื่อทรัพยากรและเวลาเพียงพอ แต่ไม่มีข้อมูล) ถึงแม้ว่าแนวคิดจะมีความสำคัญ แต่การทำให้เป็นระเบียบของพวกมันมักจะไม่สำคัญ - และเราต้องจำไว้ว่าสัญกรณ์และคำศัพท์นั้นไม่เหมือนกับแนวคิดของตัวเอง
แก้ไข:
ฉันจะไม่เรียกร้องให้เข้าใจแนวคิดในรายละเอียดมากเท่ากับคนที่ศึกษาอย่างเป็นทางการ แต่ความคิดทั่วไปจำนวนมากก็สมเหตุสมผล ฉันคิดว่ามันมีคุณค่าในการศึกษาอย่างเป็นทางการ แต่คุณค่าบางอย่างนั้นยังคงมีอยู่หากไม่มี
สำหรับการแนะนำแนวคิด (นอกการศึกษานอกระบบ) ฉันคิดว่าการเริ่มต้นที่ดีคือการกระตุ้นให้ผู้คนคิดว่าโครงสร้างหน่วยความจำมีค่าใช้จ่ายเท่าใดหน่วยความจำขั้นตอนวิธีที่อัลกอริธึมเกี่ยวข้อง
นอกจากนี้ยังช่วยในการพิจารณาสถานการณ์สมมุติและการเปลี่ยนแปลงเช่นพิจารณาว่าจะเกิดอะไรขึ้นถ้าต้นไม้มีความสมดุลกับสิ่งที่เกิดขึ้นถ้ามันไม่สมดุลเท่าที่จะเป็นไปได้หรือมีกี่ระดับในต้นไม้ที่โหนดส่วนใหญ่จะเป็น ถือถ้าความลึกเพิ่มขึ้นหนึ่งระดับ วิธีคิดนี้โดยทั่วไปมีประโยชน์สำหรับโปรแกรมเมอร์ไม่เพียง แต่เมื่อมองถึงความซับซ้อน และถ้านำไปใช้กับการคิดว่าอัลกอริทึมและโครงสร้างข้อมูลดำเนินการอย่างไรภายใต้สถานการณ์ที่แตกต่างกันมันจะชี้ไปในทิศทางเดียวกับการตรวจสอบความซับซ้อนที่เป็นทางการมากขึ้น
O(n^2)
หมาย