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

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

26
Regex ที่ไม่มีวันจับคู่กับสิ่งใด ๆ
นี่อาจฟังดูเป็นคำถามโง่ ๆ แต่ฉันได้คุยกับเพื่อนนักพัฒนาบางคนเป็นเวลานานและฟังดูเหมือนเป็นเรื่องสนุกที่คิด ดังนั้น; ความคิดของคุณเป็นอย่างไร - Regex มีลักษณะอย่างไรที่จะไม่จับคู่กับสตริงใด ๆ เลย! แก้ไข : ทำไมฉันถึงต้องการสิ่งนี้? ประการแรกเพราะฉันคิดว่ามันน่าสนใจที่จะนึกถึงการแสดงออกเช่นนี้และประการที่สองเพราะฉันต้องการมันสำหรับสคริปต์ ในสคริปต์นั้นฉันกำหนดพจนานุกรมเป็น Dictionary<string, Regex>ในบทที่ผมกำหนดเป็นพจนานุกรมสิ่งนี้ประกอบด้วยสตริงและนิพจน์ตามที่คุณเห็น จากพจนานุกรมนั้นฉันสร้างเมธอดที่ทุกคนใช้พจนานุกรมนี้เป็นเพียงข้อมูลอ้างอิงเกี่ยวกับวิธีการทำงานของพวกเขาหนึ่งในนั้นจะจับคู่นิพจน์ทั่วไปกับไฟล์บันทึกที่แยกวิเคราะห์ ถ้านิพจน์ตรงกับนิพจน์อื่น Dictionary<string, long>ถูกเพิ่มค่าที่นิพจน์ส่งกลับ ดังนั้นในการตรวจจับข้อความบันทึกใด ๆ ที่ไม่ตรงกับนิพจน์ในพจนานุกรมฉันจึงสร้างกลุ่มใหม่ชื่อ "ไม่ทราบ" ในกลุ่มนี้ทุกสิ่งที่ไม่ตรงกับสิ่งอื่นจะถูกเพิ่มเข้ามา แต่เพื่อป้องกันการแสดงออกที่ไม่ตรงกัน (โดยไม่ได้ตั้งใจ) ในบันทึกข้อความฉันจึงต้องสร้างนิพจน์ที่แน่นอนที่สุดไม่เคยตรงกันไม่ว่าฉันจะให้สตริงใดก็ตาม ดังนั้นคุณมีเหตุผลของฉันที่ "ไม่ใช่คำถามจริง" ...

5
มีการรับประกันอะไรบ้างเกี่ยวกับความซับซ้อนของเวลาทำงาน (Big-O) ของวิธีการ LINQ?
ฉันเพิ่งเริ่มใช้ LINQ ได้ไม่นานและฉันไม่เห็นการกล่าวถึงความซับซ้อนของรันไทม์สำหรับวิธีการใด ๆ ของ LINQ เลย เห็นได้ชัดว่ามีหลายปัจจัยในการเล่นที่นี่ดังนั้นขอ จำกัด การสนทนาเฉพาะIEnumerableผู้ให้บริการ LINQ-to-Objects ธรรมดา นอกจากนี้สมมติว่าสิ่งที่Funcส่งผ่านมาเป็นตัวเลือก / ตัวเปลี่ยน / ฯลฯ เป็นการดำเนินการ O (1) ราคาถูก ดูเหมือนว่าเห็นได้ชัดว่าทุกการดำเนินงานที่ผ่านเดียว ( Select, Where, Count, Take/Skip, Any/Allฯลฯ ) จะ O (n) เนื่องจากพวกเขาจะต้องเดินตามลำดับเมื่อ; แม้ว่าเรื่องนี้จะเป็นเรื่องขี้เกียจก็ตาม สิ่งต่าง ๆ มีความซับซ้อนมากขึ้นสำหรับการดำเนินการที่ซับซ้อนมากขึ้น ชุดเหมือนผู้ประกอบการ ( Union, Distinct, Exceptฯลฯ ) การทำงานโดยใช้GetHashCodeค่าเริ่มต้น (AFAIK) ดังนั้นจึงดูเหมือนว่าเหมาะสมที่จะถือว่าพวกเขากำลังใช้กัญชาตารางภายในทำให้การดำเนินงานเหล่า O (n) เช่นกันโดยทั่วไป สิ่งที่เกี่ยวกับเวอร์ชันที่ใช้IEqualityComparer? …

2
อะไรจะทำให้อัลกอริทึมมีความซับซ้อน O (log log n)
คำถามก่อนหน้านี้กล่าวถึงปัจจัยบางประการที่อาจทำให้อัลกอริทึมมีความซับซ้อน O (log n) อะไรจะทำให้อัลกอริทึมมีความซับซ้อนของเวลา O (log log n)?

5
B-Tree เทียบกับตารางแฮช
ใน MySQL, ประเภทดัชนีเป็น B ต้นไม้และการเข้าถึงองค์ประกอบใน B O(log(n))ต้นไม้อยู่ในเวลาตัดจำหน่ายลอการิทึม O(1)ในทางตรงกันข้ามการเข้าถึงองค์ประกอบในตารางแฮชที่อยู่ใน เหตุใดจึงไม่ใช้ตารางแฮชแทน b-tree เพื่อเข้าถึงข้อมูลภายในฐานข้อมูล

7
Big O (logn) log base e หรือไม่?
สำหรับโครงสร้างข้อมูลประเภทต้นไม้ค้นหาแบบไบนารีฉันเห็นสัญกรณ์ Big O โดยทั่วไปจะระบุเป็น O (logn) ด้วยตัวพิมพ์เล็ก 'l' ในบันทึกนี่หมายความว่าล็อกฐาน e (n) ตามที่อธิบายโดยลอการิทึมธรรมชาติหรือไม่ ขออภัยสำหรับคำถามง่ายๆ แต่ฉันมักจะมีปัญหาในการแยกแยะระหว่างลอการิทึมโดยนัยที่แตกต่างกัน


4
ทำไมเป้มีปัญหา pseudo-polynomial?
ฉันรู้ว่าKnapsackNP สมบูรณ์ในขณะที่ DP สามารถแก้ไขได้ พวกเขากล่าวว่าโซลูชัน DP คือpseudo-polynomialเนื่องจากเป็นเลขชี้กำลังใน "ความยาวของอินพุต" (เช่นจำนวนบิตที่ต้องใช้ในการเข้ารหัสอินพุต) น่าเสียดายที่ฉันไม่ได้รับมัน ใครช่วยอธิบายpseudo-polynomialเรื่องนั้นให้ฉันฟังช้าๆ
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.