คำถามติดแท็ก sorting

กำหนดลำดับขององค์ประกอบค้นหาการเปลี่ยนแปลงเช่นว่าองค์ประกอบอยู่ในลำดับที่แน่นอน

1
อัลกอริทึมการเรียงลำดับเช่นว่าองค์ประกอบแต่ละรายการมีการเปรียบเทียบ
มีอัลกอริธึมการเรียงลำดับการเปรียบเทียบใด ๆ ที่รู้จักซึ่งไม่ลดการจัดเรียงเครือข่ายเช่นนั้นแต่ละองค์ประกอบถูกเปรียบเทียบครั้งหรือไม่O(logn)O(log⁡n)O(\log n) เท่าที่ฉันรู้วิธีเดียวที่จะเรียงลำดับด้วยการเปรียบเทียบในแต่ละองค์ประกอบคือการสร้างเครือข่ายการเรียงลำดับ AKS สำหรับอินพุตnและเรียกใช้อินพุตบนเครือข่ายการเรียงลำดับO(logn)O(log⁡n)O(\log n)nnn AKS นั้นไม่ใช่เรื่องง่ายที่จะนำไปใช้และมีปัจจัยคงที่ที่ใช้ไม่ได้ดังนั้นจึงมีแรงจูงใจในการค้นหาอัลกอริธึมอื่น ๆ อัลกอริทึมที่มีการเปรียบเทียบต่อรายการซึ่งดูเหมือนจะไม่ได้บ่งบอกถึงเครือข่ายการเรียงลำดับที่จะนำเสนอที่นี่ (iirc นี่เป็นครั้งแรกที่นำเสนอโดยRob Johnsonในการสัมมนาอัลกอริทึมของ Stony Brook)O(log2n)O(log2⁡n)O(\log^2 n)

2
ฮัน
คือทุกคนคุ้นเคยกับ Yijie ฮันพื้นที่เชิงเส้นจำนวนเต็มเรียงลำดับขั้นตอนวิธีการ? ผลลัพธ์นี้ปรากฏในกระดาษที่ค่อนข้างสั้น ( การจัดเรียงอย่างแน่นอนในเวลาO ( n log log n )และพื้นที่เชิงเส้น J. Alg. 50: 96–105, 2004) ซึ่งโดยทั่วไปแล้วจะติดกาวผลลัพธ์ก่อนหน้าจำนวนมากพร้อมกับการดัดแปลงที่เหมาะสม ปัญหาของฉันคือว่ามันเขียนในลักษณะค่อนข้างมือโบกมือโดยไม่ต้องลึกเข้าไปในเฉพาะใด ๆ มันอาศัยเอกสารก่อนหน้าอย่างมากซึ่งโดดเด่นในหมู่พวกเขาอีกกระดาษโดย Han ( ปรับปรุงการเรียงลำดับจำนวนเต็มอย่างรวดเร็วในพื้นที่เชิงเส้นO(nloglogn)O(nlog⁡log⁡n)O(n \log\log n)O(nloglogn)O(nlog⁡log⁡n)O(n \log\log n). สารสนเทศและการคำนวณ 170 (1): 81–94) เขียนในลักษณะเดียวกัน ฉันมีปัญหาอย่างมากในการทำความเข้าใจเอกสารทั้งสองนี้โดยเฉพาะอย่างยิ่งวิธีที่พวกเขาปรับและใช้ผลลัพธ์ก่อนหน้า ฉันอยากจะขอบคุณความช่วยเหลือใด ๆ. แน่นอนเกินไปและคลุมเครือเกินกว่าจะถือว่าเป็นคำถามที่เหมาะสม แต่ฉันหวังว่าจะพัฒนาการอภิปรายข้ามคำถามและคำตอบที่มีการกำหนดชัดเจน เพื่อนำไปสู่คำถามต่อไปนี้คือคำถามแรกของฉัน ในเล็มม่า 2 แห่งข้อมูล คอมพ์ กระดาษมีอัลกอริธึมเวลาแบบวนซ้ำสำหรับการค้นหาจำนวนเต็มที่เล็กที่สุด mth ในชุดของจำนวนเต็มขนาดเล็กnจำนวนที่บรรจุkแต่ละคำเป็น RAM รายละเอียดของขั้นตอนวิธีการล้มเหลวในการพูดถึงวิธีกรณีฐานk = O …

3
โครงสร้างข้อมูลที่ใช้การเปรียบเทียบสำหรับการค้นหารายการ
มีโครงสร้างข้อมูลที่ใช้อาร์เรย์ที่ไม่มีการเรียงลำดับของรายการnnnดำเนินการประมวลผลล่วงหน้าในO(n)O(n)O(n)และค้นหาคำตอบ: มีองค์ประกอบxxxในรายการแต่ละแบบสอบถามในเวลาที่เลวร้ายที่สุดO(logn)O(log⁡n)O(\log n)หรือไม่ ฉันคิดว่ามันไม่มีจริง ๆ ดังนั้นหลักฐานที่แสดงว่าไม่มีใครได้รับการต้อนรับด้วย

2
เป็นไปได้ไหมที่จะหาลำดับที่มีอยู่ในเวลาพหุนามในปัญหาต่อไปนี้
ฉันกำลังคิดถึงปัญหาต่อไปนี้อยู่พักหนึ่งและฉันไม่พบวิธีแก้ปัญหาแบบพหุนาม สัตว์เดียรัจฉานเท่านั้น ฉันได้พยายามลดปัญหา NP-Complete ลงด้วยเช่นกันโดยไม่ประสบความสำเร็จ นี่คือปัญหา : คุณมีชุดเรียงลำดับ{(A1,B1),(A2,B2),…,(An,Bn)}{(A1,B1),(A2,B2),…,(An,Bn)}\{(A_1, B_1), (A_2, B_2), \ldots, (A_n, B_n)\}ของคู่จำนวนเต็มบวก (Ai,Bi)&lt;(Aj,Bj)⇔Ai&lt;Aj∨(Ai=Aj∧Bi&lt;Bj)(Ai,Bi)&lt;(Aj,Bj)⇔Ai&lt;Aj∨(Ai=Aj∧Bi&lt;Bj)(A_i, B_i) < (A_j, B_j) \Leftrightarrow A_i < A_j \lor (A_i = A_j \land B_i < B_j) (Ai,Bi)=(Aj,Bj)⇔Ai=Aj∧Bi=Bj(Ai,Bi)=(Aj,Bj)⇔Ai=Aj∧Bi=Bj(A_i, B_i) = (A_j, B_j) \Leftrightarrow A_i = A_j \land B_i = B_j การดำเนินการต่อไปนี้สามารถใช้กับคู่: Swap(pair). มันสลับองค์ประกอบของคู่ดังนั้น(10,50)(10,50)(10, 50)จะกลายเป็น(50,10)(50,10)(50, 10) เมื่อมีการสลับคู่ในชุดนั้นชุดนั้นก็จะถูกจัดเรียงอีกครั้งโดยอัตโนมัติ …

2
จำนวนการเปรียบเทียบที่แน่นอนเพื่อคำนวณค่ามัธยฐาน
ปริมาณที่สามของนูของศิลปะของการเขียนโปรแกรมคอมพิวเตอร์ (บทที่ 5 ข้อ 3.2) รวมถึงตารางต่อไปนี้รายชื่อที่แน่นอนจำนวนขั้นต่ำของการเปรียบเทียบที่จำเป็นในการเลือกtttองค์ประกอบ TH เล็กที่สุดจากชุดที่ไม่ได้เรียงลำดับขนาดสำหรับทุก . ตารางนี้พร้อมกับที่รู้จักกันดีแสดงออกปิดฟอร์มและหมายถึงมากที่สุดของรัฐของศิลปะเป็น 1976 .nnn1≤t≤n≤101≤t≤n≤101\le t \le n\le 10V1(n)=n−1V1(n)=n−1V_1(n) = n-1V2(n)=n−2+⌈n/2⌉V2(n)=n−2+⌈n/2⌉V_2(n) = n - 2 + \lceil n/2 \rceil มีการคำนวณมูลค่าที่แน่นอนของVt(n)Vt(n)V_t(n)ในช่วง 36 ปีที่ผ่านมาหรือไม่? ฉันสนใจค่าที่แน่นอนของM(n)=V⌈n/2⌉(n)M(n)=V⌈n/2⌉(n)M(n) = V_{\lceil n/2 \rceil}(n)จำนวนขั้นต่ำของการเปรียบเทียบที่ต้องใช้เพื่อคำนวณค่ามัธยฐาน ดังที่ @ MarkusBläserชี้ให้เห็นตารางของ Knuth ดูเหมือนจะรวมผลลัพธ์ล่าสุดจาก Bill Gasarch, Wayne Kelly และ Bill Pugh (การค้นหา ith ที่ใหญ่ที่สุดของ n …

1
ประมาณ 1d TSP พร้อมการเปรียบเทียบเชิงเส้น
ปัญหาเส้นทางพนักงานขายเดินทางหนึ่งมิติคือเห็นได้ชัดเช่นเดียวกับการเรียงลำดับและสามารถแก้ไขได้อย่างแน่นอนโดยการเปรียบเทียบในเวลาแต่มันถูกกำหนดในแบบที่ประมาณและแน่นอน วิธีการแก้ปัญหาทำให้รู้สึก ในรูปแบบของการคำนวณในการที่ปัจจัยการผลิตเป็นจำนวนจริงและปัดเศษจำนวนเต็มเป็นไปได้ที่มันเป็นเรื่องง่ายที่จะประมาณภายในปัจจัยสำหรับการใด ๆ คงในเวลา : หาค่าต่ำสุดและสูงสุดปัดทุกอย่างเป็นตัวเลขภายในระยะทางของค่าเดิมจากนั้นใช้การเรียงลำดับของฐาน แต่แบบจำลองที่มีการปัดเศษมีทฤษฎีความซับซ้อนที่มีปัญหาและสิ่งนี้ทำให้ฉันสงสัยO(nlogn)O(nlog⁡n)O(n\log n)1+O(n−c)1+O(n−c)1+O(n^{-c})cccO(n)O(n)O(n)(max−min)n−(c+1)(max−min)n−(c+1)(\max-\min)n^{-(c+1)} ดังนั้น TSP ที่มีมิติเดียวสามารถประมาณได้อย่างแม่นยำได้อย่างไรในโมเดลการเปรียบเทียบเชิงเส้นของการคำนวณ (แต่ละโหนดเปรียบเทียบทดสอบสัญญาณของฟังก์ชันเชิงเส้นของค่าอินพุต) โดยอัลกอริทึมที่มีความซับซ้อนของเวลาคือo(nlogn)o(nlog⁡n)o(n\log n) ? วิธีการปัดเศษเดียวกันอนุญาตให้มีการประมาณสัดส่วนของรูปแบบn1−o(1)n1−o(1)n^{1-o(1)}ได้ (โดยใช้การค้นหาแบบไบนารีเพื่อทำการปัดเศษและการปัดเศษมากขึ้นเพื่อทำให้มันเร็วพอ) แต่เป็นไปได้ไหมที่จะได้รับอัตราส่วนการประมาณเช่นO(n1−ϵ)O(n1−ϵ)O(n^{1-\epsilon})สำหรับϵ&gt;0ϵ&gt;0\epsilon>0 ?

3
จัดเรียงโดยใช้กล่องดำ
สมมติว่าเราต้องการที่จะเรียงลำดับรายการของตัวเลขจริง สมมติว่าเราได้รับกล่องดำที่สามารถเรียงจำนวนจริงได้ทันที เราจะได้ประโยชน์มากแค่ไหนเมื่อใช้กล่องดำนี้?SSS√nnnn--√n\sqrt n ตัวอย่างเช่นเราสามารถเรียงลำดับหมายเลขด้วยการโทรไปยังกล่องดำได้หรือไม่ อัลกอริทึมที่ดีที่สุดที่ฉันพบใช้การเรียกไปยังกล่องดำ แต่ฉันไม่สามารถปรับปรุงได้อีก นี่คืออัลกอริทึมของฉันซึ่งคล้ายกับการผสานเรียง:nO ( n--√)O(n)O(\sqrt n)nnn พาร์ทิชันแรกรายการเข้าไปในรายการมีประมาณขนาด จากนั้นใช้เรียกไปยังกล่องดำเพื่อเรียงลำดับรายการเหล่านี้ ท้ายที่สุดผสานรายการที่เรียงลำดับโดยใช้กล่องดำดังนี้:√SSS s1,s2, . . ,s √n--√n\sqrt n√s1, s2, . . . , sn√s1,s2,...,sns_1, s_2, ..., s_{\sqrt n}√n--√n\sqrt nn--√n\sqrt n ใส่องค์ประกอบที่เล็กที่สุดของรายการในรายการใหม่จากนั้นเรียกกล่องดำเพื่อเรียงลำดับ จำนวนใน (ครั้งแรกและองค์ประกอบที่เล็กที่สุดของ ) จะเป็นจำนวนที่น้อยที่สุดในSเราสามารถวางไว้ในตำแหน่งแรกของรายการเอาท์พุท สมมติว่าองค์ประกอบที่ได้รับการแต่งตั้งจากเราแทนที่ด้วยองค์ประกอบที่เล็กที่สุดที่สองของรายการจัดเรียงและทำงานอีกครั้งกล่องสีดำที่มันจะคำนวณสมาชิกที่เล็กที่สุดที่สองของS เราดำเนินการต่อไปจนถึงองค์ประกอบทั้งหมดจะถูกจัดเรียง จำนวนกล่องดำทั้งหมดที่เรียกใช้สำหรับส่วนนี้คือL [ 1 ] L S s J L [ 1 …

1
การรวมรายการของวัตถุที่บอบบาง
พื้นหลัง:เจ้าเสี่ยวโพสต์คำถามต่อไปนี้เวลาที่ผ่านมา " มีการเปรียบเทียบที่รู้จักกันใด ๆ เรียงลำดับขั้นตอนวิธีการที่ไม่ได้ลดไปยังเครือข่ายการเรียงลำดับเช่นว่าแต่ละองค์ประกอบจะถูกเปรียบเทียบครั้ง?O(logn)O(log⁡n)O(\log n) " ดูเหมือนว่าเราติดอยู่กับปัญหาเล็กน้อย ฉันได้พูดคุยปัญหาเดียวกันกับ Valentin Polishchuk ในปี 2009 และเราไปถึงไหนแล้ว เพื่อให้ได้แนวคิดใหม่ ๆ ฉันพยายามหาคำถามที่ง่ายที่สุดที่มีรสชาติคล้ายกันและไม่น่ารำคาญ ดังนั้นคำถามต่อไปนี้ คำถาม:คุณจะได้รับรายการที่เรียงสองรายการโดยแต่ละรายการมีองค์ประกอบnnnรายการ คุณสามารถรวมรายการต่างๆเพื่อให้แต่ละองค์ประกอบเปรียบเทียบเฉพาะO(1)O(1)O(1)ครั้งได้หรือไม่ โดยปกติเอาต์พุตควรเป็นรายการที่เรียงลำดับซึ่งมีองค์ประกอบทั้งหมด2n2n2n [สิ่งนี้กลายเป็นเรื่องไม่สำคัญคำตอบคือ "ไม่"] คำถามที่ 2:คุณได้รับสองรายการที่เรียงลำดับโดยแต่ละรายการมีองค์ประกอบnnnรายการ คุณสามารถรวมรายการต่างๆเพื่อให้แต่ละองค์ประกอบมีการเปรียบเทียบO(1)O(1)O(1)ครั้งเท่านั้นหากคุณได้รับอนุญาตให้ยกเลิกองค์ประกอบส่วนเล็ก ๆ ได้หรือไม่ ผลลัพธ์ที่ได้ควรเป็นรายการที่เรียงลำดับที่มีองค์ประกอบ2n−T(n)2n−T(n)2n-T(n)และ "ถังขยะ" ที่มีองค์ประกอบT(n)T(n)T(n)คุณสามารถทำให้ค่าขนาดเล็กแค่ไหน การได้รับนั้นไม่สำคัญ สิ่งที่ต้องการควรทำได้ในลักษณะที่ตรงไปตรงมา แต่คุณจะได้ไหมT(n)T(n)T(n)T(n)=nT(n)=nT(n) = nT(n)=n/100T(n)=n/100T(n) = n/100T(n)=o(n)T(n)=o(n)T(n) = o(n) หมายเหตุ: เราใช้รูปแบบการเปรียบเทียบที่นี่ อัลกอริทึมที่กำหนดเท่านั้นเราสนใจในการรับประกันกรณีที่เลวร้ายที่สุด โปรดทราบว่ารายการทั้งสองมีองค์ประกอบอย่างแน่นอน ถ้าเรามีหนึ่งรายการที่มีองค์ประกอบnรายการและอีกหนึ่งรายการมี1องค์ประกอบคำตอบนั้นชัดเจนว่า "ไม่" แต่ถ้าทั้งสองรายการมีความยาวมันก็ดูเหมือนว่าหนึ่งอาจจะสามารถที่จะทำบางอย่าง "สมดุลภาระ"nnnnnn111 เวลานี้อัลกอริทึมชนิดใดก็ได้ที่ถูกต้อง หากอัลกอริทึมของคุณใช้เครือข่ายการเรียงลำดับเป็นแบบเอกสารสำเร็จรูปจะถือว่าสมบูรณ์แบบ …

5
เป็นไปได้ไหมที่จะทดสอบว่าตัวเลขที่คำนวณได้นั้นเป็นจำนวนตรรกยะหรือจำนวนเต็ม?
เป็นไปได้ไหมที่จะทดสอบอัลกอริธึมว่าจำนวนที่คำนวณได้เป็นจำนวนตรรกยะหรือจำนวนเต็ม? ในคำอื่น ๆ ก็จะมีความเป็นไปได้สำหรับห้องสมุดที่ใช้คำนวณตัวเลขเพื่อให้ฟังก์ชั่นisIntegerหรือisRational? ฉันเดาว่ามันเป็นไปไม่ได้และนี่ก็เกี่ยวข้องกับความจริงที่ว่ามันเป็นไปไม่ได้ที่จะทดสอบว่าตัวเลขสองตัวนั้นเท่ากัน แต่ฉันไม่เห็นวิธีที่จะพิสูจน์มัน แก้ไข: จำนวนที่คำนวณได้ถูกกำหนดโดยฟังก์ชันที่สามารถส่งกลับค่าประมาณด้วยเหตุผลด้วยความแม่นยำ :สำหรับใด ๆ0 รับฟังก์ชั่นดังกล่าวเป็นไปได้หรือไม่ที่จะทดสอบว่าหรือ ?xxxfx(ϵ)fx(ϵ)f_x(\epsilon)xxxϵϵ\epsilon|x−fx(ϵ)|≤ϵ|x−fx(ϵ)|≤ϵ|x - f_x(\epsilon)| \leq \epsilonϵ&gt;0ϵ&gt;0\epsilon > 0x∈Qx∈Qx \in \mathrm{Q}x∈Zx∈Zx \in \mathrm{Z}
18 computability  computing-over-reals  lambda-calculus  graph-theory  co.combinatorics  cc.complexity-theory  reference-request  graph-theory  proofs  np-complete  cc.complexity-theory  machine-learning  boolean-functions  combinatory-logic  boolean-formulas  reference-request  approximation-algorithms  optimization  cc.complexity-theory  co.combinatorics  permutations  cc.complexity-theory  cc.complexity-theory  ai.artificial-intel  p-vs-np  relativization  co.combinatorics  permutations  ds.algorithms  algebra  automata-theory  dfa  lo.logic  temporal-logic  linear-temporal-logic  circuit-complexity  lower-bounds  permanent  arithmetic-circuits  determinant  dc.parallel-comp  asymptotics  ds.algorithms  graph-theory  planar-graphs  physics  max-flow  max-flow-min-cut  fl.formal-languages  automata-theory  finite-model-theory  dfa  language-design  soft-question  machine-learning  linear-algebra  db.databases  arithmetic-circuits  ds.algorithms  machine-learning  ds.data-structures  tree  soft-question  security  project-topic  approximation-algorithms  linear-programming  primal-dual  reference-request  graph-theory  graph-algorithms  cr.crypto-security  quantum-computing  gr.group-theory  graph-theory  time-complexity  lower-bounds  matrices  sorting  asymptotics  approximation-algorithms  linear-algebra  matrices  max-cut  graph-theory  graph-algorithms  time-complexity  circuit-complexity  regular-language  graph-algorithms  approximation-algorithms  set-cover  clique  graph-theory  graph-algorithms  approximation-algorithms  clustering  partition-problem  time-complexity  turing-machines  term-rewriting-systems  cc.complexity-theory  time-complexity  nondeterminism 

2
จัดเรียงตามระยะทางแบบยุคลิด
คือชุดของจุดบนเครื่องบิน มีการสุ่มจุด x ∉ Sบนระนาบเดียวกัน งานคือการจัดเรียงทุกปี∈ Sตามระยะทางแบบยุคลิดระหว่าง xและy ที่SSSx∉Sx∉Sx \notin Sy∈SY∈Sy \in SxxxyYy วิธีที่ไม่มีสมองคือการคำนวณระยะทางระหว่างและyสำหรับทุกy ∈ Sแล้วจัดเรียงพวกเขาโดยใช้อัลกอริทึมที่รวดเร็วxxxyyyy∈Sy∈Sy \in S มีวิธีใดในการจัดเก็บหรือประมวลผลล่วงหน้าดังนั้นกระบวนการเรียงลำดับจะเร็วขึ้นหรือไม่SSS

2
จำนวนเต็ม“ เกือบเรียงลำดับ” ในเวลาเชิงเส้น
ฉันสนใจในการเรียงลำดับอาร์เรย์ของค่าจำนวนเต็มบวกL=v1,…,vnL=v1,…,vnL = v_1, \ldots, v_nในเวลาเชิงเส้น (ในรูปแบบ RAM ที่มีการวัดต้นทุนสม่ำเสมอคือจำนวนเต็มสามารถมีขนาดได้ถึงลอการิทึม แต่การดำเนินการทางคณิตศาสตร์กับพวกมัน ใช้เวลาหน่วย) แน่นอนว่ามันเป็นไปไม่ได้ด้วยอัลกอริธึมการเรียงลำดับแบบเปรียบเทียบดังนั้นฉันจึงสนใจในการคำนวณการเรียงลำดับ "โดยประมาณ" เช่นการคำนวณการเปลี่ยนแปลงบางอย่างvσ(1),…,vσ(n)vσ(1),…,vσ(n)v_{\sigma(1)}, \ldots, v_{\sigma(n)}ของLLLซึ่งไม่ได้เรียงจริงๆในทั่วไป แต่ "ประมาณการที่ดี" ของรุ่นเรียงLLLLฉันจะสมมติว่าเรากำลังเรียงลำดับจำนวนเต็มในลำดับที่ลดลงเพราะมันจะทำให้ภาคต่อมีความสุขมากขึ้น แต่แน่นอนว่าเราสามารถพูดถึงปัญหาได้อีกทางหนึ่ง เกณฑ์หนึ่งที่เป็นไปได้สำหรับการเรียงลำดับโดยประมาณดังต่อไปนี้ (*): การให้NNNเป็น∑ivi∑ivi\sum_i v_iสำหรับทุกๆ1≤i≤n1≤i≤n1 \leq i \leq nเราต้องการให้vσ(i)≤N/ivσ(i)≤N/iv_{\sigma(i)} \leq N/i (เช่น "quasi-เรียง "รายการถูกล้อมรอบจากด้านบนโดยฟังก์ชั่นลดลงi↦N/ii↦N/ii \mapsto N/i ) มันง่ายที่จะเห็นว่าการจัดเรียงจริงตรงตามนี้: vσ(2)vσ(2)v_{\sigma(2)}ต้องไม่มากกว่าvσ(1)vσ(1)v_{\sigma(1)}ดังนั้นมันจึงเป็นอย่างมาก(vσ(1)+vσ(2))/2(vσ(1)+vσ(2))/2(v_{\sigma(1)} + v_{\sigma(2)})/2ซึ่ง≤N/2≤N/2\leq N/2และโดยทั่วไปvσ(i)vσ(i)v_{\sigma(i)}จะต้องไม่มากกว่า(∑j≤ivσ(i))/i(∑j≤ivσ(i))/i(\sum_{j \leq i} v_{\sigma(i)})/iซึ่งเป็น≤N/i≤N/i\leq N/iฉัน ตัวอย่างเช่นต้องการ (*) สามารถทำได้โดยอัลกอริทึมด้านล่าง (แนะนำโดย @Louis) คำถามของฉันคือ: …

1
การเรียงลำดับสำหรับ 0-1 หลายโพลิโนมีนวนมากสำหรับเครือข่ายการเรียงลำดับนั้นเพียงพอหรือไม่?
หลักการ 0-1 บอกว่าถ้าเครือข่ายการเรียงลำดับทำงานได้กับลำดับ 0-1 ทั้งหมดมันจะใช้ได้กับชุดตัวเลขใด ๆ มีเช่นนั้นหรือไม่หากเครือข่ายเรียงลำดับทุก ๆ 0-1 จาก S จากนั้นจะเรียงลำดับทุก 0-1 และขนาดของSเป็นพหุนามในnหรือไม่S⊂{0,1}nS⊂{0,1}nS\subset \{0,1\}^nSSSnnn ตัวอย่างเช่นถ้าประกอบด้วยลำดับทั้งหมดที่มีการรันมากที่สุด2ครั้ง (ช่วงเวลา) ของ 1 ดังนั้นจะมีเครือข่ายการเรียงลำดับ N และลำดับที่ไม่ได้รับคำสั่งจาก N หากสมาชิกทั้งหมดของSถูกสั่งโดย N?SSS222SSS คำตอบ:ตามที่เห็นได้จากคำตอบและความคิดเห็นคำตอบก็คือสำหรับสตริงที่ไม่เรียงลำดับทั้งหมดจะมีเครือข่ายการเรียงลำดับที่เรียงลำดับสตริงอื่น ๆ หลักฐานง่าย ๆ สำหรับสิ่งนี้คือ Let สตริงเป็นเช่นนั้นs ฉัน = 0เป็นนิตย์ฉัน&lt; kและs k = 1 ตั้งแต่sจะไม่ได้เรียงลำดับหลังจากการเรียงลำดับs kควรจะเป็น0 เปรียบเทียบkกับทุก ๆiที่s i =s=s1…sns=s1…sns=s_1\ldots s_nsi=0si=0s_i=0i&lt;ki&lt;ki<ksk=1sk=1s_k=1ssssksks_k000kkkiii . จากนั้นเปรียบเทียบทุกคู่ ( i …

3
ความซับซ้อนของการจัดเรียงทอพอโลยีที่มีตำแหน่งที่ จำกัด
ฉันกำลังได้รับเป็นใส่ DAGของจุดซึ่งแต่ละจุดสุดยอดมีข้อความระบุว่านอกจากนี้ยังมีบางส่วน\}n x S ( x ) ⊆ { 1 , … , n }GGGnnnxxxS(x)⊆{1,…,n}S(x)⊆{1,…,n}S(x) \subseteq \{1, \ldots, n\} ทอพอโลยีแบบหนึ่งของคือ bijectionจากจุดยอดของถึงเช่นนั้นสำหรับ ,หากมีเส้นทางจากไปยังในดังนั้น(y) ฉันต้องการที่จะตัดสินใจว่าจะมีอยู่การจัดเรียงทอพอโลยีของเช่นว่าทุก ,(x)f G { 1 , … , n } x y x y G f ( x ) ≤ f ( y ) G x f ( …

2
โครงสร้างข้อมูลถาวรใดสำหรับชุดองค์ประกอบที่เรียงลำดับบางส่วน
ฉันต้องการจัดเก็บชุดองค์ประกอบของประเภท a ประเภทสั่งบางส่วนเพื่อเปรียบเทียบ1และ2สามารถกลับมามีขนาดเล็กมากขึ้นเท่ากันหรือหาที่เปรียบมิได้a1a1a_1a2a2a_2 ปัญหาอย่างหนึ่งของแฮชเทเบิลคือองค์ประกอบที่เท่ากันสองค่าสามารถนำเสนอได้แตกต่างกันและฉันไม่สามารถเข้าถึงฟังก์ชันการแฮชที่สอดคล้องกับความเท่าเทียมกันได้ การเปรียบเทียบองค์ประกอบสองรายการอาจเป็นกระบวนการที่มีความยาวดังนั้นจึงน่าสนใจที่จะลดการเปรียบเทียบให้น้อยที่สุด หากจำเป็นสามารถบันทึกการโทรไปยังผู้ดำเนินการเปรียบเทียบได้ ตอนนี้ฉันรู้แล้วว่าฉันจะต้องเก็บ antichains เท่านั้น (หรือสมมติว่าเป็นอย่างนั้น) แม่นยำมากขึ้นการดำเนินการที่ฉันจะต้องดำเนินการมีดังนี้: ลบองค์ประกอบออกจาก antichain; ลองเพิ่มองค์ประกอบ หากองค์ประกอบมีขนาดเล็กกว่าสมาชิกอย่าเพิ่มองค์ประกอบมิฉะนั้นให้เพิ่มและลบทุกองค์ประกอบที่เล็กกว่านั้น i1&lt;a&lt;i2i1&lt;a&lt;i2i_1 < a < i_2i3&lt;b&lt;i4i3&lt;b&lt;i4i_3 < b < i_4i2&lt;i3i2&lt;i3i_2 < i_3a&lt;ba&lt;ba < bi2≮i3i2≮i3i_2 \not< i_3a≮ba≮ba \not < b

2
จำนวนขั้นต่ำของการโอนย้ายเพื่อเรียงลำดับรายการ
ในการพยายามคิดอัลกอริทึมการเรียงลำดับของตัวเองฉันกำลังมองหาเกณฑ์มาตรฐานที่ดีที่สุดที่ฉันสามารถเปรียบเทียบได้ สำหรับการเรียงลำดับองค์ประกอบAและเรียงลำดับB ที่เรียงลำดับไม่ได้วิธีที่มีประสิทธิภาพในการคำนวณจำนวนที่เหมาะสมของการถ่ายโอนจากAถึงBคืออะไร การขนย้ายถูกกำหนดให้เป็นการสลับตำแหน่งของ 2 องค์ประกอบในรายการดังนั้นเช่น 1 2 4 3 มีการขนย้ายหนึ่งครั้ง (การขนย้าย 4 และ 3) เพื่อสร้าง 1 2 3 4 สิ่งที่ต้องการ 1 7 2 5 9 6 ต้องการการแปลง 4 ครั้ง (7, 2), (7, 6), (6,5), (9, 7) อัปเดต (9/7/11): คำถามเปลี่ยนเป็น "transposition" แทนที่จะเป็น "swaps" เพื่ออ้างถึงการแลกเปลี่ยนที่ไม่ติดกัน

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