คำถามติดแท็ก complexity-theory

ทฤษฎีความซับซ้อนเชิงคำนวณเป็นสาขาหนึ่งของทฤษฎีการคำนวณในวิทยาศาสตร์คอมพิวเตอร์เชิงทฤษฎีและคณิตศาสตร์ที่มุ่งเน้นไปที่การจำแนกปัญหาการคำนวณตามความยากลำบากโดยธรรมชาติ โดยเฉพาะอย่างยิ่งในการเขียนโปรแกรมคือ * การวิเคราะห์แบบตัดจำหน่าย * สำหรับเวลาหรือพื้นที่


11
ความแตกต่างระหว่าง NP, NP-Complete และ NP-Hard คืออะไร
ความแตกต่างระหว่างNP , NP-CompleteและNP-Hardคืออะไร ฉันตระหนักถึงทรัพยากรมากมายทั่วทั้งเว็บ ฉันต้องการอ่านคำอธิบายของคุณและเหตุผลก็คือพวกเขาอาจแตกต่างจากสิ่งที่อยู่ข้างนอกหรือมีบางสิ่งที่ฉันไม่ทราบ

9
วิธีค้นหาความซับซ้อนของเวลาของอัลกอริทึม
คำถาม จะค้นหาความซับซ้อนของเวลาในอัลกอริทึมได้อย่างไร ฉันทำอะไรก่อนโพสต์คำถามบน SO ฉันได้ผ่านนี้ , นี้และการเชื่อมโยงอื่น ๆ อีกมากมาย แต่ไม่มีที่ไหนที่ฉันสามารถหาคำอธิบายที่ชัดเจนและตรงไปตรงมาสำหรับวิธีการคำนวณความซับซ้อนของเวลา ฉันรู้อะไร ? พูดถึงโค้ดที่ง่ายเหมือนด้านล่าง: char h = 'y'; // This will be executed 1 time int abc = 0; // This will be executed 1 time พูดเพื่อวนเหมือนด้านล่าง: for (int i = 0; i < N; i++) { Console.Write('Hello World !'); } …

23
บิ๊กโอคุณคำนวณ / ประเมินมันอย่างไร
คนส่วนใหญ่ที่มีปริญญาใน CS จะรู้แน่นอนว่าBig O หมายถึงอะไร มันช่วยให้เราวัดว่าอัลกอริทึมปรับขนาดได้ดีแค่ไหน แต่ฉันอยากรู้คุณจะคำนวณหรือประมาณความซับซ้อนของอัลกอริทึมของคุณได้อย่างไร

17
การสร้าง heap จะเป็นความซับซ้อนของเวลา O (n) ได้อย่างไร
ใครช่วยอธิบายได้ว่าการสร้างกองเป็นความซับซ้อน O (n) ได้อย่างไร การแทรกรายการลงในกองคือO(log n)และแทรกซ้ำแล้วซ้ำอีก n / 2 ครั้ง (ส่วนที่เหลือเป็นใบไม้และไม่สามารถละเมิดคุณสมบัติกองได้) ดังนั้นนี่หมายถึงความซับซ้อนที่O(n log n)ฉันควรจะคิด กล่าวอีกนัยหนึ่งสำหรับแต่ละรายการที่เรา "heapify" มีความเป็นไปได้ที่จะกรองลงหนึ่งครั้งสำหรับแต่ละระดับสำหรับ heap จนถึงตอนนี้ (ซึ่งเป็นระดับ log n) ฉันพลาดอะไรไป



12
ความซับซ้อนในการคำนวณของลำดับฟีโบนักชี
ฉันเข้าใจสัญกรณ์ Big-O แต่ฉันไม่รู้วิธีคำนวณสำหรับฟังก์ชั่นมากมาย โดยเฉพาะฉันได้พยายามหาความซับซ้อนในการคำนวณของลำดับ Fibonacci รุ่นไร้เดียงสา: int Fibonacci(int n) { if (n <= 1) return n; else return Fibonacci(n - 1) + Fibonacci(n - 2); } ความซับซ้อนในการคำนวณของลำดับฟีโบนักชีคืออะไรและคำนวณอย่างไร?


5
การกำหนดความซับซ้อนสำหรับฟังก์ชั่นวนซ้ำ (สัญกรณ์ Big O)
ฉันมีวิทยาการคอมพิวเตอร์กลางภาคในวันพรุ่งนี้และฉันต้องการความช่วยเหลือในการกำหนดความซับซ้อนของฟังก์ชันเวียนเกิดเหล่านี้ ฉันรู้วิธีแก้ปัญหากรณีง่าย ๆ แต่ฉันยังคงพยายามเรียนรู้วิธีแก้ไขกรณียาก ๆ เหล่านี้ ปัญหาเหล่านี้เป็นเพียงตัวอย่างเล็ก ๆ น้อย ๆ ที่ฉันไม่สามารถเข้าใจได้ ความช่วยเหลือใด ๆ จะได้รับการชื่นชมมากและจะช่วยอย่างมากในการศึกษาของฉันขอบคุณ! int recursiveFun1(int n) { if (n <= 0) return 1; else return 1 + recursiveFun1(n-1); } int recursiveFun2(int n) { if (n <= 0) return 1; else return 1 + recursiveFun2(n-5); } int recursiveFun3(int n) { …

6
“ P = NP คืออะไร” และทำไมเป็นคำถามที่โด่งดังเช่นนี้ [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Stack Overflow ปิดให้บริการใน7 ปีที่ผ่านมา ปรับปรุงคำถามนี้ คำถามว่า P = NP น่าจะเป็นที่โด่งดังที่สุดในสาขาวิทยาศาสตร์คอมพิวเตอร์ทั้งหมดหรือไม่ มันหมายความว่าอะไร? และทำไมมันจึงน่าสนใจ? โอ้และสำหรับเครดิตเพิ่มเติมโปรดโพสต์หลักฐานความจริงหรือเท็จ :)

9
บันทึก (n!) = Θ (n ·บันทึก (n)) หรือไม่
ผมจะแสดงให้เห็นว่าการเข้าสู่ระบบ ( n !) = Θ ( n ·เข้าสู่ระบบ ( n )) คำแนะนำที่ได้รับว่าผมควรจะแสดงผูกไว้บนที่มีn nและแสดงขอบเขตล่างด้วย( n / 2) ( n / 2) นี่ดูเหมือนจะไม่ง่ายสำหรับฉัน ทำไมเป็นเช่นนั้น แน่นอนฉันสามารถดูวิธีการแปลงn nเพื่อn ·เข้าสู่ระบบ ( n ) (เช่นเข้าสู่ระบบทั้งสองข้างของสมการ) แต่ที่เป็นชนิดของการทำงานย้อนหลัง อะไรคือแนวทางที่ถูกต้องในการแก้ไขปัญหานี้ ฉันควรจะวาดต้นไม้เรียกซ้ำหรือไม่? ไม่มีอะไรซ้ำซากเกี่ยวกับเรื่องนี้ดังนั้นจึงไม่น่าจะเป็นวิธีการที่น่าสนใจ ..

30
วิธีการค้นหาบรรพบุรุษร่วมที่ต่ำที่สุดของสองโหนดในต้นไม้ไบนารีใด ๆ ?
แผนผังไบนารีที่นี่อาจไม่จำเป็นต้องเป็นแผนผังการค้นหาแบบไบนารี โครงสร้างสามารถนำมาเป็น - struct node { int data; struct node *left; struct node *right; }; วิธีแก้ปัญหาสูงสุดที่ฉันสามารถทำได้กับเพื่อนคืออะไรบางอย่างในประเภทนี้ - พิจารณาต้นไม้ไบนารีนี้ : อัตราการเคลื่อนที่ผ่านของ inorder - 8, 4, 9, 2, 5, 1, 6, 3, 7 และผลตอบแทนการสำรวจเส้นทาง postorder - 8, 9, 4, 5, 2, 6, 7, 3, 1 ตัวอย่างเช่นถ้าเราต้องการหาบรรพบุรุษร่วมของโหนด 8 และ 5 จากนั้นเราจะทำรายการโหนดทั้งหมดที่อยู่ระหว่าง 8 และ …

5
2 ^ n และ n * 2 ^ n มีความซับซ้อนในเวลาเดียวกันหรือไม่
ทรัพยากรที่ฉันพบว่ามีความซับซ้อนในเวลาไม่ชัดเจนเกี่ยวกับเวลาที่จะไม่สนใจคำศัพท์ในสมการความซับซ้อนของเวลาโดยเฉพาะกับตัวอย่างที่ไม่ใช่พหุนาม เห็นได้ชัดสำหรับฉันที่ให้บางสิ่งในรูปแบบ n 2 + n + 1 คำสองคำสุดท้ายไม่มีนัยสำคัญ โดยเฉพาะเมื่อได้รับสองหมวดหมู่คือ 2 nและ n * (2 n ) เป็นลำดับที่สองในลำดับเดียวกันเป็นลำดับแรกหรือไม่ การคูณ n เพิ่มเติมนั้นมีความหมายหรือไม่? ทรัพยากรมักจะบอกว่า x nอยู่ในรูปแบบเลขชี้กำลังและเติบโตเร็วกว่ามาก ... จากนั้นไปต่อ ฉันเข้าใจได้ว่าทำไมมันไม่ตั้งแต่ 2 nจะแซงหน้า n อย่างมาก แต่เนื่องจากพวกมันไม่ได้ถูกรวมเข้าด้วยกันมันจะมีความสำคัญอย่างมากเมื่อเปรียบเทียบสมการทั้งสองในความเป็นจริงความแตกต่างระหว่างพวกเขาจะเป็นปัจจัยของ n เสมอ ซึ่งดูเหมือนว่าสำคัญที่จะพูดน้อย

6
HashMap รับ / ใส่ความซับซ้อน
เราเคยพูดว่าHashMap get/putการดำเนินการคือ O (1) อย่างไรก็ตามขึ้นอยู่กับการใช้งานแฮช แฮชของอ็อบเจ็กต์ดีฟอลต์คือแอดเดรสภายในในฮีป JVM เราแน่ใจหรือไม่ว่าดีพอที่จะอ้างว่าget/putเป็น O (1)? หน่วยความจำที่ใช้ได้เป็นอีกปัญหาหนึ่ง ตามที่ฉันเข้าใจจาก javadocs HashMap load factorควรเป็น 0.75 จะเกิดอะไรขึ้นถ้าเรามีหน่วยความจำไม่เพียงพอใน JVM และload factorเกินขีด จำกัด ? ดังนั้นดูเหมือนว่าจะไม่รับประกัน O (1) มันสมเหตุสมผลหรือว่าฉันพลาดอะไรไป

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.