คำถามติดแท็ก amortized-analysis

9
มีคิวลำดับความสำคัญที่มีการแยก
มีโครงสร้างข้อมูลจำนวนมากที่ใช้อินเตอร์เฟสลำดับความสำคัญ - คิว: Insert: ใส่องค์ประกอบเข้าไปในโครงสร้าง Get-Min: คืนองค์ประกอบที่เล็กที่สุดในโครงสร้าง Extract-Min: ลบองค์ประกอบที่เล็กที่สุดในโครงสร้าง โครงสร้างข้อมูลทั่วไปที่ใช้อินเทอร์เฟซนี้คือ (นาที) ฮีป โดยปกติแล้วเวลาที่ใช้งาน (ตัดจำหน่าย) ของการดำเนินการเหล่านี้คือ: แทรก: (บางครั้ง )O ( บันทึกn )O(1)O(1)\mathcal{O}(1)O(logn)O(log⁡n)\mathcal{O}(\log n) Get-Min:O(1)O(1)\mathcal{O}(1) สารสกัด - ขั้นต่ำ:O(logn)O(log⁡n)\mathcal{O}(\log n) Fibonacci กองประสบความสำเร็จในครั้งที่ทำงานเหล่านี้ตัวอย่างเช่น ตอนนี้คำถามของฉันคือต่อไปนี้: มีโครงสร้างข้อมูลที่มีเวลาทำงาน (ตัดจำหน่าย) ต่อไปนี้หรือไม่? แทรก: O(logn)O(log⁡n)\mathcal{O}(\log n) Get-Min: O ( 1 )O(1)\mathcal{O}(1) สารสกัดจากขั้นต่ำ: O ( 1 )O(1)\mathcal{O}(1) หากเราสามารถสร้างโครงสร้างดังกล่าวในเวลาO (n)O(n)\mathcal{O}(n)กำหนดอินพุตที่เรียงลำดับจากนั้นเราสามารถเช่นหาจุดตัดของเส้นบนอินพุตที่เรียงลำดับล่วงหน้าด้วยo ( nเข้าสู่ระบบn)o(nlog⁡n)o\left(\frac{n}{\log …

2
เหตุใด C ประเภทโมฆะจึงไม่คล้ายกับประเภทที่ว่าง / ด้านล่าง
Wikipedia ตลอดจนแหล่งข้อมูลอื่น ๆ ที่ฉันได้พบรายการvoidประเภทC เป็นหน่วยประเภทซึ่งตรงข้ามกับประเภทที่ว่างเปล่า ฉันพบว่ามันสับสนเพราะฉันคิดว่าvoidเหมาะกับนิยามของประเภทที่ว่าง / ล่าง ไม่มีค่านิยมใด ๆ อยู่voidเท่าที่ฉันจะบอกได้ ฟังก์ชั่นที่มีประเภทคืนค่าเป็นโมฆะระบุว่าฟังก์ชั่นจะไม่ส่งคืนสิ่งใดดังนั้นจึงสามารถทำงานได้เพียงผลข้างเคียงเท่านั้น ตัวชี้ชนิดvoid*เป็นชนิดย่อยของชนิดตัวชี้อื่นทั้งหมด นอกจากนี้การแปลงไปยังและจากvoid*ใน C นั้นเป็นนัย ผมไม่แน่ใจว่าถ้าจุดสุดท้ายมีบุญใด ๆ ที่เป็นข้อโต้แย้งสำหรับvoidการเป็นประเภทที่ว่างเปล่าเป็นมากหรือน้อยเป็นกรณีพิเศษที่มีความสัมพันธ์ไม่มากที่จะvoid*void ในทางกลับกันvoidตัวมันเองไม่ใช่ประเภทย่อยของประเภทอื่นทั้งหมดซึ่งเท่าที่ฉันสามารถบอกได้ว่าเป็นข้อกำหนดสำหรับประเภทที่จะเป็นประเภทด้านล่าง
28 type-theory  c  logic  modal-logic  coq  equality  coinduction  artificial-intelligence  computer-architecture  compilers  asymptotics  formal-languages  asymptotics  landau-notation  asymptotics  turing-machines  optimization  decision-problem  rice-theorem  algorithms  arithmetic  floating-point  automata  finite-automata  data-structures  search-trees  balanced-search-trees  complexity-theory  asymptotics  amortized-analysis  complexity-theory  graphs  np-complete  reductions  np-hard  algorithms  string-metrics  computability  artificial-intelligence  halting-problem  turing-machines  computation-models  graph-theory  terminology  complexity-theory  decision-problem  polynomial-time  algorithms  algorithm-analysis  optimization  runtime-analysis  loops  turing-machines  computation-models  recurrence-relation  master-theorem  complexity-theory  asymptotics  parallel-computing  landau-notation  terminology  optimization  decision-problem  complexity-theory  polynomial-time  counting  coding-theory  permutations  encoding-scheme  error-correcting-codes  machine-learning  natural-language-processing  algorithms  graphs  social-networks  network-analysis  relational-algebra  constraint-satisfaction  polymorphisms  algorithms  graphs  trees 

2
โครงสร้างข้อมูลพร้อมการค้นหาแทรกและลบในเวลาตัดจำหน่าย
มีโครงสร้างข้อมูลเพื่อรักษารายการที่สั่งซื้อซึ่งสนับสนุนการดำเนินการต่อไปนี้ในเวลาตัดจำหน่ายหรือไม่O ( 1 )O(1)O(1) GetElement (k) : ส่งคืนองค์ประกอบที่ของรายการkkk InsertAfter (x, y) : ใส่องค์ประกอบใหม่ y ลงในรายการทันทีหลังจาก x ลบ (x) : ลบ x ออกจากรายการ สำหรับการดำเนินการสองครั้งล่าสุดคุณสามารถสมมติได้ว่า x ถูกกำหนดให้เป็นตัวชี้ไปยังโครงสร้างข้อมูลโดยตรง InsertElement ส่งคืนตัวชี้ที่สอดคล้องกันสำหรับ y InsertAfter (NULL, y) แทรก y ที่จุดเริ่มต้นของรายการ ตัวอย่างเช่นเริ่มต้นด้วยโครงสร้างข้อมูลที่ว่างเปล่าการดำเนินการต่อไปนี้จะอัพเดตรายการที่สั่งซื้อตามที่แสดงด้านล่าง: InsertAfter (NULL, a) [a]⟹⟹\implies InsertAfter (NULL, b) [b, a]⟹⟹\implies InsertAfter (b, c) [b, c, a]⟹⟹\implies …

2
เหตุใด push_back ใน C ++ เวกเตอร์จึงตัดจำหน่ายอย่างต่อเนื่อง
ฉันกำลังเรียนรู้ C ++ และพบว่าเวลาทำงานของฟังก์ชัน push_back สำหรับเวกเตอร์นั้นคงที่ "ตัดจำหน่าย" เอกสารอธิบายเพิ่มเติมว่า "หากการจัดสรรใหม่เกิดขึ้นการจัดสรรใหม่จะเป็นแบบเชิงเส้นในขนาดทั้งหมด" นี่ไม่ควรหมายความว่าฟังก์ชัน push_back เป็นโดยที่คือความยาวของเวกเตอร์ ท้ายที่สุดเราสนใจการวิเคราะห์กรณีที่เลวร้ายที่สุดใช่ไหม?O ( n )O(n)O(n)nnn ฉันเดาว่าสำคัญไม่เข้าใจว่าคำคุณศัพท์ "ตัดจำหน่าย" เปลี่ยนแปลงเวลาทำงานอย่างไร

1
ปัญหา NP-hard สามารถเป็นพหุนามโดยเฉลี่ยได้หรือไม่?
ฉันสงสัยว่าหากมีปัญหาเกี่ยวกับปัญหาซึ่งเป็นพหุนาม "โดยเฉลี่ย" ฉันคิดว่ามีสองวิธีในการตีความสิ่งนี้ยังไม่มีข้อความPยังไม่มีข้อความPNP ถ้าจะมีอัลกอริทึมในการแก้ปัญหาปัญหาเกี่ยวกับค่าเสื่อมราคา (กรณีเฉลี่ย) เวลาทำงานของสำหรับค่าคงที่หรือไม่?N P O ( n k ) kP≠ NPP≠ยังไม่มีข้อความPP \neq NPยังไม่มีข้อความPยังไม่มีข้อความPNPO ( nk)O(nk)O(n^k)kkk มีปัญหาใดบ้างที่ -hard ซึ่งอยู่ในหรือแม้แต่ ?B P P P Pยังไม่มีข้อความPยังไม่มีข้อความPNPBPPBPPBPPPPPPPP ใครสามารถตอบหรือให้การอ้างอิงตอบคำถามอย่างใดอย่างหนึ่งเหล่านี้

1
ฟังก์ชั่นที่มีศักยภาพไบนารีกองสกัดสูงสุด O (1)
ฉันต้องการความช่วยเหลือในการหาฟังก์ชั่นที่มีศักยภาพสำหรับ heap สูงสุดเพื่อให้แยก max เสร็จสมบูรณ์ในเวลาตัดจำหน่าย ฉันควรเพิ่มว่าฉันไม่มีความเข้าใจในวิธีการที่เป็นไปได้O( 1 )O(1)O(1) ฉันรู้ว่าฟังก์ชั่นการแทรกควร "จ่าย" มากขึ้นเพื่อลดค่าใช้จ่ายในการสกัดและสิ่งนี้จะต้องเกี่ยวกับความสูงของกอง (ถ้าให้ความสูงของกองควร ส่วนแทรกเป็น2 บันทึก( n )หรือ∑ n k = 1 2 บันทึก( k ) )⌊ บันทึก( n ) ⌋⌊เข้าสู่ระบบ⁡(n)⌋ \lfloor \log(n) \rfloor 2 บันทึก( n )2เข้าสู่ระบบ⁡(n)2\log(n)Σnk = 12 บันทึก( k )Σk=1n2เข้าสู่ระบบ⁡(k) \sum_{k=1}^n 2\log(k)
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.